From sal at dcs.st-and.ac.uk Mon Jan 2 16:08:18 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Thu Jan 5 13:04:32 2006 Subject: [GAP Forum] Fw: [GAP Support] Itanium Message-ID: <20060102160818.577e85ea@localhost.localdomain> Dear GAP Forum, Dima Pasechnik reported problems compiling GAP for the Itanium processor. This is a known problem, see http://www.gap-system.org/Faq/Hardware-OS/hardware-os8.html If anyone wants to work on this, I can give you some more clues, but that page summarises the issue. A non-optimising compile usually works (but very slowly). Steve -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From welcometn at yahoo.fr Tue Jan 3 12:57:37 2006 From: welcometn at yahoo.fr (Saber) Date: Thu Jan 5 13:04:32 2006 Subject: [GAP Forum] colored tetrahedron Message-ID: <20060103125737.23179.qmail@web26801.mail.ukl.yahoo.com> Dear GAP-Forum, i want to give all the possibilities to color the nodes (up to 4 colors) of a regular tetrahedron: 1) related to the symmetric group $S_4$. 2) related to the alternating group $A_4$. is there any idea to draw this in (x)gap? thanks in advance, Saber. ___________________________________________________________________________ Nouveau : t?l?phonez moins cher avec Yahoo! Messenger ! D?couvez les tarifs exceptionnels pour appeler la France et l'international. T?l?chargez sur http://fr.messenger.yahoo.com From wdj at usna.edu Wed Jan 4 12:53:06 2006 From: wdj at usna.edu (David Joyner) Date: Thu Jan 5 13:04:32 2006 Subject: [GAP Forum] guava 2.5 beta2 Message-ID: <43BBC532.2010500@usna.edu> Hello GAP people: I have posted a second beta version of GUAVA 2.5 on the GAP webpage http://cadigweb.ew.usna.edu/~wdj/gap/GUAVA/ (it is the link guava2.5.tar.gz near the top). Because of the function Peter Mayr and I wrote (see below), one major difference is that SONATA must be loaded to install GUAVA. This doesn't bother me but might bother others. Opinions or comments on this? Here are the changes: Version 2.5: (1-2006) o Fixed undesired feature in Decodeword (spotten by Cayanne McFarlane). o Added MinimumWeightWords to manual; modified GAP code for MinimumWeightWords to speed it up. o Modified CheckMatCode to "Set" *mutable* generator and check matrices. o Added BitFlipDecoder, a fast decoder for LDPC codes, written with Gordon McDonald. o Added GuavaVersion and guava_version o Added FerrorDesignCode, written with Peter Mayr at Linz (one of the SONATA authors). This requires SONATA. o Miscellaneous additions to the GUAVA manual. Again, if there are problems, please email me. Modulo installation problems which might arise, this is the planned next release. - David Joyner From kohl at mathematik.uni-stuttgart.de Mon Jan 9 14:56:50 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Mon Jan 9 14:57:03 2006 Subject: [GAP Forum] RCWA 1.3 Message-ID: <43C279B2.8040304@mathematik.uni-stuttgart.de> Dear Forum, This is to announce the release of RCWA 1.3. The RCWA package provides methods for computing in certain infinite permutation groups acting on the integers. Since the initial release of version 1.0 in spring last year, significant functionality has been added. As usual, the RCWA package is available at http://www.gap-system.org/Packages/rcwa.html. Wishing you fun and success using this package, Stefan Kohl From bob.heffernan at gmail.com Mon Jan 9 18:25:29 2006 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Mon Jan 9 18:26:38 2006 Subject: [GAP Forum] computing automorphism groups Message-ID: <6d9a83e90601091025u1e22c2bcsf74a5f536ba50a42@mail.gmail.com> Hi, I'm computing the automorphism groups of finite groups (particularly,finite perfect groups) but GAP seems to be taking an awful long timeto do this. For example, the following has been running for several hours now: A:=AutomorphismGroup(PerfectGroup(168,1)); The machine I am running this on is quite decently specced. Also, Istarted gap with the following:gap -o 1000Mto give GAP plenty of memory to work with. Should I be expecting such a delay? thank you,Bob From hulpke at math.colostate.edu Mon Jan 9 18:40:01 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon Jan 9 18:40:28 2006 Subject: [GAP Forum] computing automorphism groups In-Reply-To: <6d9a83e90601091025u1e22c2bcsf74a5f536ba50a42@mail.gmail.com> References: <6d9a83e90601091025u1e22c2bcsf74a5f536ba50a42@mail.gmail.com> Message-ID: <2F415FC2-8945-4C10-84BF-F63DD6736EB1@math.colostate.edu> Dear GAP Forum, Rober Heffernan wrot: > I'm computing the automorphism groups of finite groups > (particularly,finite perfect groups) but GAP seems to be taking an > awful long timeto do this. > For example, the following has been running for several hours now: > A:=AutomorphismGroup(PerfectGroup(168,1)); > The machine I am running this on is quite decently specced. Also, > Istarted gap with the following:gap -o 1000Mto give GAP plenty of > memory to work with. PerfectGroup returns by default a finitely presented group. An automorphism group calculation for these is likely to be very inefficient. If you use a permutation representation instead you are likely to get a much better performance: A:=AutomorphismGroup(PerfectGroup(IsPermGroup,168,1)); Best wishes, Alexander Hulpke From vdabbagh at math.carleton.ca Tue Jan 10 05:21:47 2006 From: vdabbagh at math.carleton.ca (Vahid Dabbaghian-Abdoly) Date: Tue Jan 10 05:23:54 2006 Subject: [GAP Forum] Repsn 2.0. package release Message-ID: Dear GAP Forum, I am pleased to announce the release of Repsn 2.0. The modifications include: - computing constituents of reducible representations. - computing a block diagonal representation equivalent to a given reducible representation. - improving the search method for finding character subgroups. - a bugfix in the extending representation functions. The Repsn package is available at the following pages; http://www.gap-system.org/Packages/repsn.html http://www.math.carleton.ca/~vdabbagh/gap/repsn.html Please send bug reports, suggestions and other comments to vdabbagh@math.carleton.ca. Best wishes, Vahid Dabbaghian-Abdoly From alice at maths.uwa.edu.au Wed Jan 11 10:48:19 2006 From: alice at maths.uwa.edu.au (Alice C. Niemeyer) Date: Wed Jan 11 10:48:52 2006 Subject: [GAP Forum] colored tetrahedron In-Reply-To: <20060103125737.23179.qmail@web26801.mail.ukl.yahoo.com> References: <20060103125737.23179.qmail@web26801.mail.ukl.yahoo.com> Message-ID: Dear Saber, It is currently not possible to draw tetrahedra in different colours using Xgap. You might have to find a different graphical package to do this. However, you can use GAP to count the number of different colourings of a tetrahedron for the groups A_n or S_n. You can find an exposition of the basic ideas on the GAP web site under Documentation -> Teaching -> Lectures and Workshops by Alice Niemeyer -> Lecture 3. Accompanying these lectures are also some GAP functions. Another reference is N. G. de Bruijn, in {\it Selecta Mathematica, III}, 1--26. Heidelberger Taschenb\"ucher, 86, Springer, Berlin, 1971; All the best, Alice Niemeyer. =*=*=*=*=*=*=*=*=*=*=*=M=*=*=*=*M*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* Alice C. Niemeyer =@\___) =@\ School of Mathematics & Statistics alice@maths.uwa.edu.au \_ ( ( \ University of Western Australia +61-8-6488 3890 .| .| .|_(\_) Nedlands, WA 6009, Australia. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* WWW: http://www.maths.uwa.edu.au/~alice/ On Tue, 3 Jan 2006, Saber wrote: >Dear GAP-Forum, > >i want to give all the possibilities to color the >nodes (up to 4 colors) of a regular tetrahedron: >1) related to the symmetric group $S_4$. >2) related to the alternating group $A_4$. > >is there any idea to draw this in (x)gap? > > >thanks in advance, >Saber. > > > > > > >___________________________________________________________________________ >Nouveau : t?l?phonez moins cher avec Yahoo! Messenger ! D?couvez les tarifs exceptionnels pour appeler la France et l'international. >T?l?chargez sur http://fr.messenger.yahoo.com > >_______________________________________________ >Forum mailing list >Forum@mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum > > > From raghu_juliet at rediffmail.com Thu Jan 12 07:56:03 2006 From: raghu_juliet at rediffmail.com (raghunathan) Date: Thu Jan 12 10:43:12 2006 Subject: [GAP Forum] Class structure identification of symmetric groups Message-ID: <20060112075603.19345.qmail@webmail30.rediffmail.com> Hello GAP forum, Is there a way to find the different classes of permutations corresponding to different columns of the character table of a symmetric group? For ex., The character table of S3 is displayed by GAP as 2 1 1 . 3 1 . 1 1a 2a 3a 2P 1a 1a 3a 3P 1a 2a 1a X.1 1 -1 1 X.2 2 . -1 X.3 1 1 1 Is there a way to relate the symbols displayed just above the table i.e., 1a 2a 3a etc., to the different classes (1)(2)(3),(1)(2,3) &(1,2,3) of SymmetricGroup(3)? Thanks, Raghunathan,R. ? From welcometn at yahoo.fr Thu Jan 12 15:24:28 2006 From: welcometn at yahoo.fr (Saber) Date: Thu Jan 12 15:24:58 2006 Subject: [GAP Forum] colored tetrahedron In-Reply-To: Message-ID: <20060112152428.82236.qmail@web26815.mail.ukl.yahoo.com> Dear Alice Niemeyer, thank you very much for your help. i have added a link to your program. Saber Mbarek Algebra und Number Theory University of Siegen, Germany www.math.uni-siegen.de/~mbarek --- "Alice C. Niemeyer" a ?crit?: > Dear Saber, > > It is currently not possible to draw tetrahedra in > different colours > using Xgap. You might have to find a different > graphical package to do > this. > > However, you can use GAP to count the number of > different colourings > of a tetrahedron for the groups A_n or S_n. You can > find an exposition > of the basic ideas on the GAP web site under > Documentation -> Teaching -> Lectures and Workshops > by Alice Niemeyer -> > Lecture 3. > Accompanying these lectures are also some GAP > functions. > > Another reference is > N. G. de Bruijn, in {\it Selecta Mathematica, III}, > 1--26. Heidelberger > Taschenb\"ucher, 86, Springer, Berlin, 1971; > > All the best, Alice Niemeyer. > > > =*=*=*=*=*=*=*=*=*=*=*=M=*=*=*=*M*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* > Alice C. Niemeyer =@\___) =@\ School of > Mathematics & Statistics > alice@maths.uwa.edu.au \_ ( ( \ University of > Western Australia > +61-8-6488 3890 .| .| .|_(\_) Nedlands, WA > 6009, Australia. > =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* > WWW: http://www.maths.uwa.edu.au/~alice/ > > On Tue, 3 Jan 2006, Saber wrote: > > >Dear GAP-Forum, > > > >i want to give all the possibilities to color the > >nodes (up to 4 colors) of a regular tetrahedron: > >1) related to the symmetric group $S_4$. > >2) related to the alternating group $A_4$. > > > >is there any idea to draw this in (x)gap? > > > > > >thanks in advance, > >Saber. > > > > > > > > > > > > > >___________________________________________________________________________ > >Nouveau : t?l?phonez moins cher avec Yahoo! > Messenger ! D?couvez les tarifs exceptionnels pour > appeler la France et l'international. > >T?l?chargez sur http://fr.messenger.yahoo.com > > > >_______________________________________________ > >Forum mailing list > >Forum@mail.gap-system.org > >http://mail.gap-system.org/mailman/listinfo/forum > > > > > > > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > ___________________________________________________________________________ Nouveau : t?l?phonez moins cher avec Yahoo! Messenger ! D?couvez les tarifs exceptionnels pour appeler la France et l'international. T?l?chargez sur http://fr.messenger.yahoo.com From laurent.bartholdi at gmail.com Thu Jan 12 18:24:28 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Thu Jan 12 18:25:51 2006 Subject: [GAP Forum] weird bug with wreath products Message-ID: <1ff637850601121024r3cff4ecbn9d56d784905bc951@mail.gmail.com> hello world, it seems to me that there's a problem with wreath products: GAP4, Version: 4.4.5 of 13-May-05, i686-pc-linux-gnu-gcc gap> G := WreathProduct(CyclicGroup(3),Group((1,2,3),(4,5,6))); gap> Gc := Image(IsomorphismPcGroup(G)); Group([ f1, f2, f3, f4, f5 ]) gap> Size(Gc); 243 gap> G := WreathProduct(CyclicGroup(IsPermGroup,3),Group((1,2,3),(4,5,6))); gap> Gc := Image(IsomorphismPcGroup(G)); Group([ f1, f2, f3, f4, f5, f6, f7, f8 ]) gap> Size(Gc); 6561 -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6930380 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930385 From thoffman at coastal.edu Thu Jan 12 19:20:15 2006 From: thoffman at coastal.edu (Tom Hoffman) Date: Thu Jan 12 19:23:31 2006 Subject: [GAP Forum] Special unitary groups Message-ID: <1137093615.43c6abef6b711@mail.coastal.edu> Does anyone know how to get a permutation representation of a special unitary group in GAP? The manual says that the command SpecialUnitaryGroup will take a filter as its first argument but when I tried this I got the following GAP4, Version: 4.4.6 of 02-Sep-2005, i686-pc-linux-gnu-gcc gap> SpecialUnitaryGroup(IsPermGroup, 4,2); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `SpecialUnitaryGroupCons' on 3 arguments\ called from SpecialUnitaryGroupCons( arg[1], arg[2], arg[3] ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Any help would be appreciated. Tom Dr. Thomas R. Hoffman Department of Mathematics and Statistics Coastal Carolina University ----------------------------------------------------------------------- This message was sent from the Coastal Carolina University Mail System. From wdjoyner at comcast.net Thu Jan 12 19:57:50 2006 From: wdjoyner at comcast.net (David Joyner) Date: Thu Jan 12 19:54:57 2006 Subject: [GAP Forum] Special unitary groups In-Reply-To: <1137093615.43c6abef6b711@mail.coastal.edu> References: <1137093615.43c6abef6b711@mail.coastal.edu> Message-ID: <43C6B4BE.2000609@comcast.net> Try |IsomorphismPermGroup:| gap> G:=SpecialUnitaryGroup(4,2); SU(4,2) gap> iso:=IsomorphismPermGroup(G); gap> image:= Image( iso );; For more details, see section 40.2 of the reference manual. ++++++++++++++++++++++ Tom Hoffman wrote: > Does anyone know how to get a permutation representation of a special unitary > group in GAP? The manual says that the command SpecialUnitaryGroup will take a > filter as its first argument but when I tried this I got the following > > GAP4, Version: 4.4.6 of 02-Sep-2005, i686-pc-linux-gnu-gcc > gap> SpecialUnitaryGroup(IsPermGroup, 4,2); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `SpecialUnitaryGroupCons' on 3 arguments\ > called from > SpecialUnitaryGroupCons( arg[1], arg[2], arg[3] ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > Any help would be appreciated. > Tom > > > Dr. Thomas R. Hoffman > Department of Mathematics and Statistics > Coastal Carolina University > > ----------------------------------------------------------------------- > This message was sent from the Coastal Carolina University Mail System. > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > From holmespe at for.mat.bham.ac.uk Thu Jan 12 20:33:37 2006 From: holmespe at for.mat.bham.ac.uk (Petra Holmes) Date: Thu Jan 12 20:34:01 2006 Subject: [GAP Forum] Special unitary groups In-Reply-To: <1137093615.43c6abef6b711@mail.coastal.edu> Message-ID: When you know that SU(n,q) is isomorphic to PSU(n,q) (such as in your example SU(4,2)) then you can use PSU instead, which always arrives as a perm group. On Thu, 12 Jan 2006, Tom Hoffman wrote: > > Does anyone know how to get a permutation representation of a special unitary > group in GAP? The manual says that the command SpecialUnitaryGroup will take a > filter as its first argument but when I tried this I got the following > > GAP4, Version: 4.4.6 of 02-Sep-2005, i686-pc-linux-gnu-gcc > gap> SpecialUnitaryGroup(IsPermGroup, 4,2); > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `SpecialUnitaryGroupCons' on 3 arguments\ > called from > SpecialUnitaryGroupCons( arg[1], arg[2], arg[3] ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > brk> > > Any help would be appreciated. > Tom > > > Dr. Thomas R. Hoffman > Department of Mathematics and Statistics > Coastal Carolina University > > ----------------------------------------------------------------------- > This message was sent from the Coastal Carolina University Mail System. > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Frank.Luebeck at math.rwth-aachen.de Thu Jan 12 23:17:02 2006 From: Frank.Luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu Jan 12 23:18:05 2006 Subject: [GAP Forum] Class structure identification of symmetric groups In-Reply-To: <20060112075603.19345.qmail@webmail30.rediffmail.com> References: <20060112075603.19345.qmail@webmail30.rediffmail.com> Message-ID: <20060112231702.GA4245@math.rwth-aachen.de> On Thu, Jan 12, 2006 at 07:56:03AM +0000, raghunathan wrote: > Hello GAP forum, > Is there a way to find the different classes of permutations > corresponding to different columns of the character table of a > symmetric group? > For ex., > The character table of S3 is displayed by GAP as > 2 1 1 . > 3 1 . 1 > > 1a 2a 3a > 2P 1a 1a 3a > 3P 1a 2a 1a > > X.1 1 -1 1 > X.2 2 . -1 > X.3 1 1 1 > Is there a way to relate the symbols displayed just above the table > i.e., 1a 2a 3a etc., to the different classes (1)(2)(3),(1)(2,3) &(1,2,3) > of SymmetricGroup(3)? Dear Raghunathan, dear Forum, In general it can be difficult to identify the conjugacy classes of a given group in GAP with the columns of its abstract character table. But for symmetric groups GAP can compute the character table, using the labeling of conjugacy classes and irreducible characters by partitions: gap> t := CharacterTable("Symmetric", 7); CharacterTable( "Sym(7)" ) gap> ClassParameters(t); [ [ 1, [ 1, 1, 1, 1, 1, 1, 1 ] ], [ 1, [ 2, 1, 1, 1, 1, 1 ] ], [ 1, [ 2, 2, 1, 1, 1 ] ], [ 1, [ 2, 2, 2, 1 ] ], [ 1, [ 3, 1, 1, 1, 1 ] ], [ 1, [ 3, 2, 1, 1 ] ], [ 1, [ 3, 2, 2 ] ], [ 1, [ 3, 3, 1 ] ], [ 1, [ 4, 1, 1, 1 ] ], [ 1, [ 4, 2, 1 ] ], [ 1, [ 4, 3 ] ], [ 1, [ 5, 1, 1 ] ], [ 1, [ 5, 2 ] ], [ 1, [ 6, 1 ] ], [ 1, [ 7 ] ] ] The i-th entry of ClassParameters(t) describes the class of the i-th column of t: its second component gives the cycle type of the elements in this class. There is a similar CharacterParameters(t). Remark: If G is a group in GAP then 'CharacterTable(G);' returns a table which can be asked for 'IdentificationOfConjugacyClasses', e.g.: gap> G := SymmetricGroup(20); Sym( [ 1 .. 20 ] ) gap> t := CharacterTable(G); CharacterTable( Sym( [ 1 .. 20 ] ) ) gap> IdentificationOfConjugacyClasses(t); [ 1 .. 627 ] But for bigger G GAP may not be able to compute the character table. Nevertheless, in this particular case of symmetric groups, GAP knows that it can use the efficient function mentioned above to compute the table. With best regards, Frank Luebeck -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From raghu_juliet at rediffmail.com Fri Jan 13 10:18:36 2006 From: raghu_juliet at rediffmail.com (raghunathan) Date: Fri Jan 13 10:19:09 2006 Subject: [GAP Forum] Class structure identification of symmetric groups Message-ID: <20060113101836.26675.qmail@webmail50.rediffmail.com> >Dear Raghunathan, dear Forum, > >In general it can be difficult to identify the conjugacy classes of a given >group in GAP with the columns of its abstract character table. > >But for symmetric groups GAP can compute the character table, using the >labeling of conjugacy classes and irreducible characters by partitions: > >gap> t := CharacterTable("Symmetric", 7); >CharacterTable( "Sym(7)" ) >gap> ClassParameters(t); >[ [ 1, [ 1, 1, 1, 1, 1, 1, 1 ] ], [ 1, [ 2, 1, 1, 1, 1, 1 ] ], > [ 1, [ 2, 2, 1, 1, 1 ] ], [ 1, [ 2, 2, 2, 1 ] ], [ 1, [ 3, 1, 1, 1, 1 ] ], > [ 1, [ 3, 2, 1, 1 ] ], [ 1, [ 3, 2, 2 ] ], [ 1, [ 3, 3, 1 ] ], > [ 1, [ 4, 1, 1, 1 ] ], [ 1, [ 4, 2, 1 ] ], [ 1, [ 4, 3 ] ], > [ 1, [ 5, 1, 1 ] ], [ 1, [ 5, 2 ] ], [ 1, [ 6, 1 ] ], [ 1, [ 7 ] ] ] > >The i-th entry of ClassParameters(t) describes the class of the i-th column >of t: its second component gives the cycle type of the elements in this class. > >There is a similar CharacterParameters(t). > >Remark: If G is a group in GAP then 'CharacterTable(G);' returns a table >which can be asked for 'IdentificationOfConjugacyClasses', e.g.: > >gap> G := SymmetricGroup(20); >Sym( [ 1 .. 20 ] ) >gap> t := CharacterTable(G); >CharacterTable( Sym( [ 1 .. 20 ] ) ) >gap> IdentificationOfConjugacyClasses(t); >[ 1 .. 627 ] > >But for bigger G GAP may not be able to compute the character table. >Nevertheless, in this particular case of symmetric groups, GAP knows that >it can use the efficient function mentioned above to compute the table. > >With best regards, > > Frank Luebeck Respected Dr.Frank Luebeck and GAP Forum, Thank you very much for ur valuable suggestion regarding class structures of symmetric groups which can be correlated to numerical partitions of the degree of the symmetric groups.But, for a wreath product group as simple as S2[S2] whose conjugacy classes' structures as given by GAP is as gap> > [ ()^G, (3,4)^G, (1,2)(3,4)^G, (1,3)(2,4)^G, (1,3,2,4)^G ] has two classes of permutations each with two cycles of length two (1,2)(3,4) and (1,3)(2,4). Also, the sequential commands, gap>s:=SymmetricGroup(2);;w:=WreathProduct(s,s);;t:=CharacterTable(w);;ClassParameters(t); did not work.Is there a way to overcome this problem by relating the abstract symbols usually displayed above any character table given by GAP as 1a 2a 2b...etc., which in the case of S4 is as follows to the class structures? 2 3 2 3 . 2 3 1 . . 1 . 1a 2a 2b 3a 4a 2P 1a 1a 1a 3a 2b 3P 1a 2a 2b 1a 4a X.1 1 -1 1 1 -1 X.2 3 -1 -1 . 1 X.3 2 . 2 -1 . X.4 3 1 -1 . -1 X.5 1 1 1 1 1 Thanks, Raghunathan,R., M.Sc.Chemistry, Department of Chemistry, Indian Institute of Technology Madras, Chennai-36, India. From Goetz.Pfeiffer at NUIGalway.ie Fri Jan 13 12:44:50 2006 From: Goetz.Pfeiffer at NUIGalway.ie (Goetz Pfeiffer) Date: Fri Jan 13 12:45:12 2006 Subject: [GAP Forum] Class structure identification of symmetric groups In-Reply-To: <20060113101836.26675.qmail@webmail50.rediffmail.com> References: <20060113101836.26675.qmail@webmail50.rediffmail.com> Message-ID: <20060113124450.GA12957@schmidt.nuigalway.ie> Dear Raghunathan, dear Forum, the function 'CharacterTableWreathSymmetric' constructs the character table of the wreath product of a group G with the symmetric group on n points from the character table of G and supplies it with lists of partitions as labels for the classes (and the characters). The underlying algorithm is described in Character Tables of Weyl Groups in GAP. Bayreuther Math. Schr. 47 (1994), 165-222. (http://schmidt.nuigalway.ie/~goetz/pub/ctweyl.html) Goetz Pfeiffer On Fri, Jan 13, 2006 at 10:18:36AM +0000, raghunathan wrote: > Respected Dr.Frank Luebeck and GAP Forum, > Thank you very much for ur valuable suggestion regarding class structures of symmetric groups which can be correlated to numerical partitions of the degree of the symmetric groups.But, for a wreath product group as simple as S2[S2] whose conjugacy classes' structures as given by GAP is as > > gap> > [ ()^G, (3,4)^G, (1,2)(3,4)^G, (1,3)(2,4)^G, (1,3,2,4)^G ] > > has two classes of permutations each with two cycles of length two (1,2)(3,4) and (1,3)(2,4). Also, the sequential commands, > > gap>s:=SymmetricGroup(2);;w:=WreathProduct(s,s);;t:=CharacterTable(w);;ClassParameters(t); > did not work.Is there a way to overcome this problem by relating the abstract symbols usually displayed above any character table given by GAP as 1a 2a 2b...etc., which in the case of S4 is as follows to the class structures? > > 2 3 2 3 . 2 > 3 1 . . 1 . > > 1a 2a 2b 3a 4a > 2P 1a 1a 1a 3a 2b > 3P 1a 2a 2b 1a 4a > > X.1 1 -1 1 1 -1 > X.2 3 -1 -1 . 1 > X.3 2 . 2 -1 . > X.4 3 1 -1 . -1 > X.5 1 1 1 1 1 > > Thanks, > Raghunathan,R., > M.Sc.Chemistry, > Department of Chemistry, > Indian Institute of Technology Madras, > Chennai-36, > India. > > > > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum ------------------------------------------------------------------------- Goetz.Pfeiffer@NUIGalway.ie http://schmidt.nuigalway.ie/~goetz/ National University of Ireland, Galway. phone +353-91-49-3591 From vdabbagh at math.carleton.ca Mon Jan 16 00:23:06 2006 From: vdabbagh at math.carleton.ca (Vahid Dabbaghian-Abdoly) Date: Mon Jan 16 00:23:24 2006 Subject: [GAP Forum] substitution Message-ID: Dear GAP Forum, I have a dense matrix of large dimensions with entries in the cyclotomic field CF(24) and in this matrix I would like to replace the primitive element E(24) by a prime number p. Do you know any method for this substitution? Best regards, Vahid From sh_fouladi at yahoo.com Mon Jan 16 08:31:16 2006 From: sh_fouladi at yahoo.com (shirin fouladi) Date: Mon Jan 16 08:32:36 2006 Subject: [GAP Forum] find some information Message-ID: <20060116083116.40318.qmail@web53303.mail.yahoo.com> Dear Gap Forum. I Read in mathscinet a summery of this paper: " th.Exarchakos, LA-group.Math.Soc.Japan.33(1981)185-190" but unfortunately this jornal is not available in my country and I couldnot find the e-mail of writer. I am very thankful if anyone tell me any information. Best regards. Shirin fouladi. Faculty of Mathematical Sciences and Computer Engineering University For Teacher Education. --------------------------------- Yahoo! Photos Got holiday prints? See all the ways to get quality prints in your hands ASAP. From laurent.bartholdi at gmail.com Tue Jan 17 14:07:51 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Tue Jan 17 14:08:11 2006 Subject: [GAP Forum] CanComputeSize Message-ID: <1ff637850601170607u72f6474l931939b2e91a9a43@mail.gmail.com> Hi, I try to understand Size(), HasSize() and CanComputeSize(). It seems very strange to me that gap> l := [];; gap> HasSize(l); false gap> CanComputeSize(l); false isn't there a missing method/attribute here? I would expect that all dense lists have these attributes set. However InstallTrueMethod(CanComputeSize,IsDenseList); doesn't change the results of the code above. My interest is that I want to display an object either by its size (if it exists or is easy to compute) or as an object by itself (in other cases). Thanks, Laurent -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6930380 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930385 From joachim.neubueser at math.rwth-aachen.de Tue Jan 17 16:23:30 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Tue Jan 17 16:23:43 2006 Subject: [jneubues: Re: [GAP Forum] find some information] Message-ID: <20060117162330.GB8114@math.rwth-aachen.de> ----- Forwarded message from jneubues ----- To: shirin fouladi Subject: Re: [GAP Forum] find some information Reply-To: Joachim Neubueser Dear Shirin Fouladi, On Mon, Jan 16, 2006 at 12:31:16AM -0800, you wrote to the GAP Forum: > Dear Gap Forum. > I Read in mathscinet a summery of this paper: > " th.Exarchakos, LA-group.Math.Soc.Japan.33(1981)185-190" > but unfortunately this jornal is not available in my country > and I couldnot find the e-mail of writer. The e-mail address of the writer is texarcha@primedu.uoa.gr The paper is probably available in our library, if you cannot get it from the author, just send me your postal address and I will try to send you a Xerox. But please do understand that the GAP Forum normally is not the address for such requests. With kind regards Joachim Neubueser ---------------------------------------------------------- Prof. em. J. Neubueser LDFM, RWTH Aachen Germany ------------------------------------------------------------ ----- End forwarded message ----- From hulpke at math.colostate.edu Wed Jan 18 16:56:09 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed Jan 18 16:56:25 2006 Subject: [GAP Forum] weird bug with wreath products In-Reply-To: <1ff637850601121024r3cff4ecbn9d56d784905bc951@mail.gmail.com> References: <1ff637850601121024r3cff4ecbn9d56d784905bc951@mail.gmail.com> Message-ID: <238A8206-0C6C-4707-8CDE-AC68382BC7BC@math.colostate.edu> Dear GAP- Forum, On Jan 12, 2006, at 11:24 , Laurent Bartholdi wrote: > > it seems to me that there's a problem with wreath products: > > GAP4, Version: 4.4.5 of 13-May-05, i686-pc-linux-gnu-gcc > gap> G := WreathProduct(CyclicGroup(3),Group((1,2,3),(4,5,6))); > > gap> Gc := Image(IsomorphismPcGroup(G)); > Group([ f1, f2, f3, f4, f5 ]) > gap> Size(Gc); > 243 Thank you for reporting this bug. The problem arises if the group H in G\wr H is not acting transitively. In this case GAP might miss some generators for the base of the product. This will be corrected in the next bugfix, please write me privately if you want a workaround now. Best wishes and many thanks! Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From thomas.breuer at math.rwth-aachen.de Wed Jan 18 18:07:52 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Wed Jan 18 18:08:34 2006 Subject: [GAP Forum] CanComputeSize Message-ID: <20060118180752.C9667777D4@altair.math.rwth-aachen.de> Dear GAP Forum, Laurent Bartholdi wrote > I try to understand Size(), HasSize() and CanComputeSize(). It seems very > strange to me that > > gap> l := [];; > gap> HasSize(l); > false > gap> CanComputeSize(l); > false > > isn't there a missing method/attribute here? I would expect that all dense > lists have these attributes set. However > > InstallTrueMethod(CanComputeSize,IsDenseList); > > doesn't change the results of the code above. > > My interest is that I want to display an object either by its size (if > it exists or > is easy to compute) or as an object by itself (in other cases). According to the GAP Reference Manual, - the operation `Size' is applicable to domains and lists (see Chapter "Collections"), - the filter `HasSize' is `true' for an object if the `Size' value is known (See Section "Setter and Tester for Attributes"), and - the filter `CanComputeSize' indicates whether it is not too complicated to compute the `Size' value of a domain (see Section "Tests for the Availability of Methods"). The term ``known'' in the second item means that it is very cheap to get the value when `Size' is called (see Section "Attributes"); except perhaps in special cases, this means that the object actually stores its `Size' value, and that the object lies in the filter `IsAttributeStoringRep'; then this value has been computed using `Size' or has been set using `SetSize'. In principle, it would be possible to set `HasSize' to `true' for internally represented lists; currently this is not the case. `CanComputeSize' was not designed as a filter for lists. Again, in principle it could be set automatically also for internally represented lists. The implication from `IsDenseList' to `CanComputeSize' does not work for internally represented lists because these lists do not carry around their individual types: Only a small number of types is supported for these lists, and `CanComputeSize' is not involved in these types. Thanks to Laurent for these suggestions how to improve the behaviour of GAP. (I am not sure whether these rather technical questions are of general interest for the GAP Forum. Perhaps the address support@gap-system.org would be more appropriate.) All the best, Thomas From thomas.breuer at math.rwth-aachen.de Wed Jan 18 18:26:01 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Wed Jan 18 18:26:27 2006 Subject: [GAP Forum] substitution Message-ID: <20060118182601.6401E777D4@altair.math.rwth-aachen.de> Dear GAP Forum, Vahid Dabbaghian-Abdoly wrote > I have a dense matrix of large dimensions with entries in the cyclotomic > field CF(24) and in this matrix I would like to replace the primitive > element E(24) by a prime number p. > Do you know any method for this substitution? If only one value shall be replaced by another value and all other values in the matrix shall remain unchanged, a short solution is the following. mat:= ...; # the matrix, i.e., list of lists old:= ...; # the value that shall be replaced new:= ...; # the value that shall replace it replace:= function( value ) if value = old then return new; fi; return value; end; List( mat, row -> List( row, replace ) ); Another possible interpretation of replacement would be that all entries of the given matrix over `CF(24)' shall be replaced by the images under a linear map (or a ring homomorphism that is defined by the image of `E(24)'). The replacement by a prime mentioned in the question is not of that kind, but if one is interested in this then one can use the GAP function `CoeffsCyc' to compute the (rational) coefficients of an element `x' in `CF(n)' w.r.t. a basis of `CF(n)' that consists of certain powers of `E(n)'. `CoeffsCyc( x, n )' is a list of length `n' in which the entry at position `i' is the coefficient of `E(n)^i'. (See "CoeffsCyc" in the GAP Reference Manual, more about the basis used can be found in the manual section "Integral Bases of Abelian Number Fields".) All the best, Thomas From dutour at liga.ens.fr Thu Jan 19 07:42:32 2006 From: dutour at liga.ens.fr (Mathieu Dutour) Date: Thu Jan 19 09:38:15 2006 Subject: [GAP Forum] Function demand Message-ID: <20060119074232.GA25528@orge.ens.fr> Dear Gap forum, there are two functions, which are reasonably basic, which would perhaps be useful to have in GAP: ---Pfaffian of an antisymmetric matrix. ---sylvester inertia coefficients of a symmetric matrix. I can contribute myself those functions, but the code may not be up to the standard of GAP. Mathieu -- Mathieu Dutour Sikiric Researcher in Math Tel. (+972)2 65 84 103 and Computer Science Fax. (+972)2 56 30 702 Einstein Institute of Mathematics E-mail: Mathieu.Dutour@ens.fr Hebrew University of Jerusalem http://www.liga.ens.fr/~dutour Israel From r_n_tsai at yahoo.com Fri Jan 20 21:22:28 2006 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Fri Jan 20 21:22:46 2006 Subject: [GAP Forum] universal enveloping algebras Message-ID: <20060120212228.53035.qmail@web33704.mail.mud.yahoo.com> Dear gap forum, I'm having difficulty in manipulating elements of the universal enveloping algebra of a Lie algebra. This simple example brings out the problem : Test:=function()local L,UL,g,x,d,t,e,f,h,a1,a2,a3,M,emb; L:=SimpleLieAlgebra("A",1,Rationals); UL:=UniversalEnvelopingAlgebra(L); g:=GeneratorsOfAlgebraWithOne(UL); d:=g[1];x:=g[2];t:=g[3]; a1:=d*x-x*d;Print(" [d,x] ",a1,"\n"); e:=x+d;f:=x-d;h:=f*e; a2:=h*e-e*h;Print(" [h,f] ",a2,"\n"); a3:=h*f-f*h;Print(" [h,e] ",a3,"\n"); M:=FreeMagmaRing(Rationals,UL); emb:=Embedding(UL,M); end; when executed this gives : gap> Read("Test.g"); gap> Test(); [d,x] [(1)*x.3] [h,f] [(-4)*x.1+(-2)*x.1*x.3+(4)*x.2+(-2)*x.2*x.3] [h,e] [(-2)*x.1*x.3+(2)*x.2*x.3] Error, this case will eventually be handled by the Vector Enumerator which is not available yet called from OperationAlgebraHomomorphism( A, [ [ Zero( A ) ] ], OnRight ) called from IsomorphismMatrixFLMLOR( A ) called from IsFiniteDimensional( V ) called from IsFinite( V ) called from GeneratorsOfMagma( M ) called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> If there's another way to map the generators of UL such that : x -> x d -> d t -> 1 so that [d,x]=1 and not [d,x]=t, then this would suffice for what I'm doing. I am running "GAP4, Version 4.4.6 of 02-Sep-2005, i686-pc-cygwin-gcc" Thanks for you help. R.N. --------------------------------- Yahoo! Photos ? Showcase holiday pictures in hardcover Photo Books. You design it and we?ll bind it! From degraaf at science.unitn.it Mon Jan 23 09:52:24 2006 From: degraaf at science.unitn.it (Willem De Graaf) Date: Mon Jan 23 09:52:49 2006 Subject: [GAP Forum] universal enveloping algebras In-Reply-To: <20060120212228.53035.qmail@web33704.mail.mud.yahoo.com> References: <20060120212228.53035.qmail@web33704.mail.mud.yahoo.com> Message-ID: <43D4A758.3050109@science.unitn.it> Dear R.N. Tsai, You asked > > If there's another way to map the generators of UL such that : > x -> x > d -> d > t -> 1 > so that [d,x]=1 and not [d,x]=t, then this would suffice for what I'm doing. >I am running "GAP4, Version 4.4.6 of 02-Sep-2005, i686-pc-cygwin-gcc" > Thanks for you help. > > > As far as I am aware, there is currently no way in GAP for doing this, because there are no constructions of algebras with generators that satisfy the ralations you indicate. Also, I am not exactly sure what you want. There is no algebra homomorphism that does the indicated thing: in the universal enveloping algebra we also have the relation dt-td=-2d. So if you map t to 1 by an algebra homomorphism, then you have to map d to 0. All the best, Willem de Graaf From r_n_tsai at yahoo.com Tue Jan 24 00:45:10 2006 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Tue Jan 24 00:46:10 2006 Subject: [GAP Forum] universal enveloping algebras In-Reply-To: <43D4A758.3050109@science.unitn.it> Message-ID: <20060124004510.14425.qmail@web33701.mail.mud.yahoo.com> Dear gap forum and Willem, Thanks for your response. Maybe my example made things more complicated instead of clarifying them. I was hoping to find an equivalent to "CoefficientsAndMagmaElements" that would work with universal enveloping algebras; with that I could map the algebra elements to anything I want. Fortunately I was pointed by email to gap code written by Jan Draisma that defines Weyl Algebras. This actually provides the ability to do the calculations I had in mind in a much better setting so I'll switch to using that. Thanks again for your help and for Jan Draisma for very useful code. R.N. --------------------------------- What are the most popular cars? Find out at Yahoo! Autos From ms-swissoft at arcor.de Thu Jan 26 16:22:33 2006 From: ms-swissoft at arcor.de (Michael Schweitzer) Date: Thu Jan 26 16:22:45 2006 Subject: [GAP Forum] How to identify a group Message-ID: <000601c62294$b772dc20$2101a8c0@SWISSOFT> Dear forum members, given a group G of order n (given by generators). Is GAP able to identify the group by name or as the group of symmetries of some geometric object? For example: I define G such that G is isomorphic to A5. Can I ask GAP: which group is G? And GAP answers: A5- which is, for example, the symmetry group of the icosahedron. That is, does GAP contain a database of finite groups of small orders ( < several hundrets, say) which includes information about the transformation group aspect: this group, among other things, is the symmetry group of X or operates in a natural manner on X (I know that GAP does contain a database of small groups - but is this kind of information stored there?). The group in question is of order 432 with generators g1 := (4,6,5)(7,8,9) and g2 := (1,7,2,4,6,9,5,3) Regards, Michael Schweitzer Michael Schweitzer Alt-Heiligensee 51 A 13503 Berlin email: ms-swissoft@arcor.de From klin at cs.bgu.ac.il Thu Jan 26 17:39:50 2006 From: klin at cs.bgu.ac.il (Mikhail Klin) Date: Thu Jan 26 17:39:37 2006 Subject: [GAP Forum] How to identify a group In-Reply-To: <000601c62294$b772dc20$2101a8c0@SWISSOFT> Message-ID: Dear Michael, GAP may identify your group or as a group of order 432, or as a transitive group of degree 9, however it does not have requested catalogues of symmetries of geometrical or combinatorial structures. In fact, your group is the automorphism group of the affine plane of order 3. Moreover, this plane has is in a sense most famous labelling. Best regards, Mikhail ******************************************************************** Dr. Mikhail Klin Department of Mathematics Ben-Gurion University of the Negev P.O.Box 653, Beer Sheva 84105, Israel Tel: (0)8/6477-802 (office) (0)8/641-37-15 (home) Fax: +972-(0)8/6477-648 e-mail: klin@cs.bgu.ac.il On Thu, 26 Jan 2006, Michael Schweitzer wrote: > Dear forum members, > > given a group G of order n (given by generators). Is GAP > able to identify the group by name or as the > group of symmetries of some geometric object? > > For example: I define G suchthat G is isomorphic to A5. Can I ask GAP: > which group is G? And GAP answers: A5- which is,for example, > the symmetry group of the icosahedron. > > That is, does GAP contain a database of finite groups of > small orders ( < several hundrets, say) which includes > information about the transformation group aspect: this > group, among other things, is the symmetry group of X or > operates in a natural manner on X (I know that GAP > does contain a database of small groups - but is this kind > of information stored there?). > > The group in question is of order 432 with generators > > g1 := (4,6,5)(7,8,9) andg2 := (1,7,2,4,6,9,5,3) > > > Regards, > Michael Schweitzer > > > Michael Schweitzer > Alt-Heiligensee 51 A > 13503 Berlin > email: ms-swissoft@arcor.de > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From ndroock1 at gmail.com Fri Jan 27 09:46:02 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Fri Jan 27 09:46:18 2006 Subject: [GAP Forum] How to identify a group In-Reply-To: <000601c62294$b772dc20$2101a8c0@SWISSOFT> References: <000601c62294$b772dc20$2101a8c0@SWISSOFT> Message-ID: gap> G:=Group((4,6,5)(7,8,9),(1,7,2,4,6,9,5,3)); Group([ (4,6,5)(7,8,9), (1,7,2,4,6,9,5,3) ]) gap> Size(G); 432 gap> StructureDescription(G); "(((C3 x C3) : Q8) : C3) : C2" 2006/1/26, Michael Schweitzer : > Dear forum members, > > given a group G of order n (given by generators). Is GAP > able to identify the group by name or as the > group of symmetries of some geometric object? > > For example: I define G such that G is isomorphic to A5. Can I ask GAP: > which group is G? And GAP answers: A5- which is, for example, > the symmetry group of the icosahedron. > > That is, does GAP contain a database of finite groups of > small orders ( < several hundrets, say) which includes > information about the transformation group aspect: this > group, among other things, is the symmetry group of X or > operates in a natural manner on X (I know that GAP > does contain a database of small groups - but is this kind > of information stored there?). > > The group in question is of order 432 with generators > > g1 := (4,6,5)(7,8,9) and g2 := (1,7,2,4,6,9,5,3) > > > Regards, > Michael Schweitzer > > > Michael Schweitzer > Alt-Heiligensee 51 A > 13503 Berlin > email: ms-swissoft@arcor.de > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From ndroock1 at gmail.com Fri Jan 27 09:48:59 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Fri Jan 27 09:49:05 2006 Subject: [GAP Forum] How to identify a group In-Reply-To: References: <000601c62294$b772dc20$2101a8c0@SWISSOFT> Message-ID: Sorry for the noise on the list, this reply was meant for my archive. 2006/1/27, Nilo de Roock : > gap> G:=Group((4,6,5)(7,8,9),(1,7,2,4,6,9,5,3)); > Group([ (4,6,5)(7,8,9), (1,7,2,4,6,9,5,3) ]) > gap> Size(G); > 432 > gap> StructureDescription(G); > "(((C3 x C3) : Q8) : C3) : C2" > > 2006/1/26, Michael Schweitzer : > > Dear forum members, > > > > given a group G of order n (given by generators). Is GAP > > able to identify the group by name or as the > > group of symmetries of some geometric object? > > > > For example: I define G such that G is isomorphic to A5. Can I ask GAP: > > which group is G? And GAP answers: A5- which is, for example, > > the symmetry group of the icosahedron. > > > > That is, does GAP contain a database of finite groups of > > small orders ( < several hundrets, say) which includes > > information about the transformation group aspect: this > > group, among other things, is the symmetry group of X or > > operates in a natural manner on X (I know that GAP > > does contain a database of small groups - but is this kind > > of information stored there?). > > > > The group in question is of order 432 with generators > > > > g1 := (4,6,5)(7,8,9) and g2 := (1,7,2,4,6,9,5,3) > > > > > > Regards, > > Michael Schweitzer > > > > > > Michael Schweitzer > > Alt-Heiligensee 51 A > > 13503 Berlin > > email: ms-swissoft@arcor.de > > > > _______________________________________________ > > Forum mailing list > > Forum@mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > From ndroock1 at gmail.com Mon Jan 30 23:07:03 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Jan 30 23:10:29 2006 Subject: [GAP Forum] Unexpected behaviour on StructureDescription() Message-ID: Hello GAP Forum, The command StructureDescription(DirectProduct(CyclicGroup(5),SymmetricGroup(4))); generated the following response: gap> StructureDescription(DirectProduct(CyclicGroup(5),SymmetricGroup(4))); #I default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [ Tuple( [ f1, () ] ) ] #I default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [ Tuple( [ of ..., (1,2,3,4) ] ) ] #I default `IsGeneratorsOfMagmaWithInverses' method returns `true' for [ Tuple( [ of ..., (1,2) ] ) ] Error, lies not in group defined by called from ExponentsOfPcElement( pcgs, elm ) called from IN_LIST_DEFAULT( elm, list ) called from Enumerator( D ) called from called from func( elm ) called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> I have never seen such a response from GAP. I use GAP mainly for "educational algebra" i.e.: only very small, known groups - Is this expected GAP behaviour?? If so how should I interpret the message? Thanks in advance for an answer to my question. Kind Regards, nilo de roock From greg.gamble at math.rwth-aachen.de Thu Feb 2 14:32:09 2006 From: greg.gamble at math.rwth-aachen.de (Greg Gamble) Date: Thu Feb 2 14:32:35 2006 Subject: [GAP Forum] Package updates: ANUPQ 3.0, ACE 5.0 Message-ID: <20060202143208.GA16789@math.rwth-aachen.de> Dear GAP Forum, This is to announce the release of ANUPQ 3.0 and ACE 5.0. Both packages are available from the GAP website: http://www.gap-system.org and my websites: http://www.math.rwth-aachen.de/~Greg.Gamble/ (Aachen, Germany) http://www.maths.uwa.edu.au/~gregg/ (Perth, Australia) http://www.itee.uq.edu.au/~gregg/ (Brisbane, Australia) There is no urgency for users to upgrade either package. The new versions are *not* backward-compatible to versions of GAP prior to GAP 4.4. Thus, users of these packages must *not* upgrade if they are still using GAP 4.3 (and must continue to use ANUPQ 2.2 and ACE 4.1), though such users are strongly encouraged to upgrade their GAP to version 4.4, in which case it makes sense to upgrade ACE and ANUPQ at the same time. Neither package contains new features nor fixes any outstanding bugs (the previous versions of ACE and ANUPQ are not known to contain any bugs). These new versions of the packages update them fully to GAP 4.4; all obsolete pre-GAP 4.4 code has been removed. While GAP continues to support `ReadPkg' (and, in the case of ANUPQ, `PrimeOfPGroup') users of ANUPQ and ACE may continue to use ANUPQ 2.2 and ACE 4.1, safely. In the case of ANUPQ, the `IsPqIsomorphicPGroup' has been improved thanks to suggestions from Marco Costantini and Jack Schmidt. Users installing ANUPQ are urged to use testPq to check for correct installation (and can be confident they do have a correct installation if it responds as described in the README). For ACE also, one of the internal functions has been simplified (by removing GAP 4.2 compatibility). Users doing a ReadTest of the tst/aceds.tst file of the package should be aware that if the only difference is one of timing then their installation is quite ok (a cputime of 0 just means the relevant instruction took less than 5ms). Regards, Greg Gamble From greg.gamble at math.rwth-aachen.de Tue Feb 7 06:01:19 2006 From: greg.gamble at math.rwth-aachen.de (Greg Gamble) Date: Wed Feb 8 14:29:07 2006 Subject: [GAP Forum] Example package updated Message-ID: <20060207060119.GB32735@math.rwth-aachen.de> Dear GAP Forum, This is to announce the release of version 2.0 of the Example package. The Example package is intended as a prototype/template of a GAP package that hopefully new package writers will find useful. The package complements the detailed instructions found in the Reference Manual (chapter 74) and the Extending GAP Manual (chapter 4), links to which, along with other useful information, can be found by following the `Packages' then `For Authors' links at the GAP website: http://www.gap-system.org Also on the `Packages' page(s) is a link to the Example package. This new version of the Example package is fully up-to-date with respect to the new package loading mechanism of GAP 4.4, and removes all obsolete code. New GAP package writers are urged to base their package on this new version of the Example package and not older versions of the package. Comments exist in the package files to explain the changes from GAP 4.3 to GAP 4.4. The `Authorhints' link from the `Packages' -> `For Authors' page described above, has a section `How to adjust a package after the release of GAP 4.4?' that provides details of these changes. The new version of the Example package can be downloaded directly from http://www.gap-system.org/Packages/example.html or the package homepage: http://www.math.rwth-aachen.de/~Greg.Gamble/Example/ (Aachen, Germany) or its Australian mirrors: http://www.maths.uwa.edu.au/~gregg/Example/ (Perth) http://www.itee.uq.edu.au/~gregg/Example/ (Brisbane) Regards, Greg Gamble for the GAP Group From kohl at mathematik.uni-stuttgart.de Wed Feb 8 15:54:29 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Wed Feb 8 15:54:35 2006 Subject: [GAP Forum] Unexpected behaviour on StructureDescription() In-Reply-To: References: Message-ID: <43EA1435.6020709@mathematik.uni-stuttgart.de> Dear Forum, Nilo de Roock wrote: > The command > > StructureDescription(DirectProduct(CyclicGroup(5),SymmetricGroup(4))); > > generated the following response: > > gap> StructureDescription(DirectProduct(CyclicGroup(5),SymmetricGroup(4))); > #I default `IsGeneratorsOfMagmaWithInverses' method returns `true' for > [ Tuple( [ f1, () ] ) ] This is due to a problem in a method in the package CRISP. In the meantime the author of this package has fixed this bug. Remedies are: - upgrade to CRISP 1.3, or - use StructureDescription(DirectProduct(CyclicGroup(IsPermGroup,5), SymmetricGroup(4))); or StructureDescription(DirectProduct(CyclicGroup(5), SymmetricGroup(IsPcGroup,4))); instead or - start GAP without autoloading of packages. Hope this helps, Stefan Kohl --------------------------------------------------------------------------- Stefan Kohl Institut f?r Geometrie und Topologie Pfaffenwaldring 57 Universit?t Stuttgart 70550 Stuttgart / Germany E-mail: kohl@mathematik.uni-stuttgart.de Web: http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/ --------------------------------------------------------------------------- From ndroock1 at gmail.com Fri Feb 10 09:11:34 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Fri Feb 10 09:12:13 2006 Subject: [GAP Forum] "(C4 x C2) : C2" Message-ID: Hello GAP Forum, Could someone please explain why AllGroups(16)[3] and AllGroups(16)[13] both return "(C4 x C2) : C2" on the function StructureDescription? Thanks in advance, nilo From ken.w.smith at cmich.edu Fri Feb 10 16:41:54 2006 From: ken.w.smith at cmich.edu (Ken W Smith) Date: Fri Feb 10 16:42:08 2006 Subject: [GAP Forum] "(C4 x C2) : C2" In-Reply-To: References: Message-ID: <2d4ac61a0e3c30dbdae57cb083631ad4@cmich.edu> Hi Nilo, Both groups are semidirect products of a normal subgroup isomorphic to C4 x C2 with a subgroup of order 2. (More explicitly, according to some notes of mine, group [16,3] is generated by elements x, y, z where x has order 4, y and z have order 2, x and y commute (thus = C4 x C2), y and z commute and zxz=xy. Group [16,13] is generated by x, y, z with orders 4, 2, 2, respectively where xy=yx, xz=zx, zyz=x^2y.) ken --- On Feb 10, 2006, at 4:11 AM, Nilo de Roock wrote: > Hello GAP Forum, > > Could someone please explain why AllGroups(16)[3] and > AllGroups(16)[13] both return "(C4 x C2) : C2" on the function > StructureDescription? > > Thanks in advance, > nilo > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > --- Ken W. Smith, Professor of Mathematics, Central Michigan University 989-854-0185 (Cell) http://www.cst.cmich.edu/users/smith1kw Address for 2005-06: 22 Chase Gayton Terrace, Apt 1518 Richmond, VA 23238-6526 From ndroock1 at gmail.com Sat Feb 11 12:56:35 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sat Feb 11 12:56:47 2006 Subject: [GAP Forum] StructureDescription Revisited Message-ID: Hello GAP forum, I have posted some questions regarding StructureDescription() recently, thank you for all answers. ( It came a bit as a shock to me but I now understand that non-isomorphic groups can have the same structure description. So yes the answers have been -very- helpful. I have also updated to the latest GAP releases, both kernel and packages. ) I am however still a bit uncertain about how I should interpret the answers of StructureDescription() and what is the best (simplest) method of finding the structure of a group. Let me give an example. I am doing some experiments regarding generating sets of matrices and the structure of the group they generate. I use for example the following function: testG:=function(a,b) local M1; M1:=[[ [ 0, -E(a)^-1 ], [ -E(a), 0 ] ],[ [ 0, -1 ], [ 1, 0 ] ], [ [ E(4*b), 0 ], [ 0, -E(4*b) ] ],[ [ -1, 0 ], [ 0, -1 ] ]]; return (Group(M1)); end; I noticed the (for me...) interesting result that StructureDescription(testG(8,1)) = QD16 StructureDescription(testG(8,3)) =C3 X QD16 StructureDescription(testG(8,5))= C5 X QD16 For other numbers however... StructureDescription(testG(8,2))= GAP Error* StructureDescription(testG(8,4))= GAP Error* StructureDescription(testG(8,7))= GAP Error* *="... Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `IsNaturalGL' on 1 arguments called fro\ m..." ( I interpreted the errors as "does not generate a group", or a bug in StructureDescription() for which a fix is due...) Size(testG(8,1))= 16 Size(testG(8,2))= 64 Size(testG(8,3))= 48 Size(testG(8,4))= 128 Size(testG(8,5))= 80 Size(testG(8,6))= 192 Size(testG(8,7))= 112 So there -are- groups generated. But which ones? ( Starting from Size(testG(4,7*11))= 176 computation time increased noticably. ) In this particular example I would very much like to know which group is generated in testG(8,2). Can GAP give an answer to that? Will the forthcoming update in StructureDescription() address this issue(if an issue at all)? More in general, am I perhaps using StructureDescription() in a wrong way or am I expecting too much from the command? Thanks in advance for any advice. nilo From rm43 at evansville.edu Sat Feb 11 13:18:52 2006 From: rm43 at evansville.edu (Robert F. Morse) Date: Sat Feb 11 13:19:09 2006 Subject: [GAP Forum] StructureDescription Revisited In-Reply-To: References: Message-ID: <43EDE43C.8050605@evansville.edu> Nilo de Roock wrote: > Hello GAP forum, > > I have posted some questions regarding StructureDescription() > recently, thank you for all answers. ( It came a bit as a shock to me > but I now understand that non-isomorphic groups can have the same > structure description. So yes the answers have been -very- helpful. I > have also updated to the latest GAP releases, both kernel and > packages. ) > > I am however still a bit uncertain about how I should interpret the > answers of StructureDescription() and what is the best (simplest) > method of finding the structure of a group. Dear Nilo, One safe approach is to find an isomorphic permutation group for the group in question and then attempt to find the structural description. Hence for your examples: gap> g8_2 := Image(IsomorphismPermGroup(testG(8,2))); gap> StructureDescription(g8_2); "(C8 x C4) : C2" gap> g8_4 := Image(IsomorphismPermGroup(testG(8,4))); gap> StructureDescription(g8_4); "(C16 x C4) : C2" gap> g8_7 := Image(IsomorphismPermGroup(testG(8,7))); gap> StructureDescription(g8_7); "C7 x QD16" Regards, Robert F. Morse From max at quendi.de Sat Feb 11 14:21:53 2006 From: max at quendi.de (Max Horn) Date: Sat Feb 11 14:22:01 2006 Subject: [GAP Forum] StructureDescription Revisited In-Reply-To: References: Message-ID: Am 11.02.2006 um 13:56 schrieb Nilo de Roock: > Hello GAP forum, > [...] > > *="... Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 2nd choice method found for `IsNaturalGL' on 1 arguments > called fro\ > m..." > ( I interpreted the errors as "does not generate a group", or a bug in > StructureDescription() for which a fix is due...) To me this seems like a bug... > > Size(testG(8,1))= 16 > Size(testG(8,2))= 64 > Size(testG(8,3))= 48 > Size(testG(8,4))= 128 > Size(testG(8,5))= 80 > Size(testG(8,6))= 192 > Size(testG(8,7))= 112 > So there -are- groups generated. But which ones? You can work around the problem by first converting to e.g. a permutation group. gap> G:=testG(8,2);; gap> phi:=IsomorphismPermGroup(G); gap> StructureDescription(Image(phi)); "(C8 x C4) : C2" Hope that helps! Max From R.W.Barraclough at qmul.ac.uk Fri Feb 10 18:08:23 2006 From: R.W.Barraclough at qmul.ac.uk (Richard Barraclough) Date: Mon Feb 13 10:38:24 2006 Subject: [GAP Forum] "(C4 x C2) : C2" In-Reply-To: <2d4ac61a0e3c30dbdae57cb083631ad4@cmich.edu> Message-ID: Hi Nilo, As you have noticed, the 'shape' of a group, i.e., what you get from StructureDescription(), does not determine the isomorphism type of the group. There are two split extensions of (4 x 2) by 2, the action of the outer 2 on the normal 4x2 is different. With Ken's notation we have ( x ) : . Now, 4x2 has two cyclic subgroups of order 4, one generated by x that we can see clearly, the other generated by xy. In case [16,3] z acts to swap these. 4x2 has three cyclic subgroups of order 2, generators are x^2, y and x^2y. In case [16,3] z acts to swap with . Notice that this fixes the two subgroups of order 4 You can't swap any other pair of order 2 subgroups. For example, y -> x^2 -> xyxy = x^2 -> x^2 -> ... which is nonsense. It is also impossible to do both of these swaps at once: The first requires you to swap x with xy, the second forces you to swap x with x^3y. Therefore these are the only two groups of shape (4x2):2. I seem to remember that "Groups for Undergraduates" by J. Moody determines all of the groups of order up . I expect there are many other references. Richard. > Hi Nilo, > Both groups are semidirect products of a normal subgroup isomorphic to > C4 x C2 with a subgroup of order 2. > > (More explicitly, according to some notes of mine, group [16,3] is > generated by elements x, y, z where x has order 4, y and z have order > 2, x and y commute (thus = C4 x C2), y and z commute and zxz=xy. > Group [16,13] is generated by x, y, z with orders 4, 2, 2, respectively > where xy=yx, xz=zx, zyz=x^2y.) > > ken > --- > On Feb 10, 2006, at 4:11 AM, Nilo de Roock wrote: > >> Hello GAP Forum, >> >> Could someone please explain why AllGroups(16)[3] and >> AllGroups(16)[13] both return "(C4 x C2) : C2" on the function >> StructureDescription? >> >> Thanks in advance, >> nilo >> >> _______________________________________________ >> Forum mailing list >> Forum@mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> >> > --- > Ken W. Smith, Professor of Mathematics, Central Michigan University > 989-854-0185 (Cell) > http://www.cst.cmich.edu/users/smith1kw > Address for 2005-06: > 22 Chase Gayton Terrace, Apt 1518 > Richmond, VA 23238-6526 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From ally at dcs.gla.ac.uk Mon Feb 13 15:12:08 2006 From: ally at dcs.gla.ac.uk (Alastair Donaldson) Date: Mon Feb 13 15:12:18 2006 Subject: [GAP Forum] Wreath Product Decomposition Message-ID: Dear Forum members I am trying to write an algorithm which, given a permutation group G acting (not necessarily transitively) on {1,2,.....,n} for some n>0, will determine whether or not G is a wreath product of subgroups H and K. According to a previous posting by Burkhard Hoefling, I think this should be fairly easy: "Wreath products of permutation groups can easily be recognized by looking at their block structure, see `Blocks' in the GAP reference manual. In general, a transitive permutation group G embeds in the wreath product (action of block stabilizer on block) wr (action of G on orbit of block), and you can easily check equality by comparing orders." However, the groups which crop up in my application domain do not tend to act transitively. As an example, consider the group G := Group( [ (1,2), (2,3), (1,4)(2,5)(3,6)(19,20), (26,27), (28,29), (1,7)(2,8)(3,9)(4,10)(5,11)(6,12)(19,21)(20,22)(25,30)(26,31)(27,32)(28,33)(29,34)(40,41), (7,13)(8,14)(9,15)(10,16)(11,17)(12,18)(21,23)(22,24)(30,35)(31,36)(32,37)(33,38)(34,39)(41,42) ]); I have worked out that this decomposes in several possible ways as H wr K, one of which is H := Group([ (33,34), (31,32), (11,12), (8,9), (10,11,12), (7,8,9), (7,10)(8,11)(9,12)(21,22) ]); and K := Group([ (7,13)(8,14)(9,15)(10,16)(11,17)(12,18)(21,23)(22,24)(30,35)(31,36)(32,37)(33,38)(34,39)(41,42), (1,7,13)(2,8,14)(3,9,15)(4,10,16)(5,11,17)(6,12,18)(19,21,23)(20,22,24)(25,30,35)(26,31,36)(27,32,37)(28,33,38)(29,34,39)(40,41,42) ] (the group H can then be decomposed further as a direct product, one factor of which is itself a wreath product). I have written a rather complex algorithm which does this decomposition correctly for my example. However, I'm having trouble proving the correctness of my algorithm, which is not nearly as simple as Buckhard's approach of looking at blocks and comparing orders. However, since blocks are not immediately applicable when the group does not act transitively, I'm not sure how to extend his suggested approach. Any ideas would be greatly appreciated -Alastair From barracrw at for.mat.bham.ac.uk Mon Feb 13 18:51:23 2006 From: barracrw at for.mat.bham.ac.uk (Richard Barraclough) Date: Mon Feb 13 22:01:48 2006 Subject: [GAP Forum] Wreath Product Decomposition In-Reply-To: Message-ID: Dear Alastair, Transitive imprimitive permutation groups can be decomposed as wreath products. All intransitive permutation groups are imprimitive: The orbits are the blocks. I guess that's not what you had in mind though. The usual way of dealing with permutation groups is to write them as a direct product of transitive permutation groups, then deal with the transitive groups separately. You probably then want at least one transitive constituent in order to be imprimitive. Here are some calculations. gens := [ (1,2), (2,3), (1,4)(2,5)(3,6)(19,20), (26,27), (28,29), (1,7)(2,8)(3,9)(4,10)(5,11)(6,12)(19,21)(20,22)(25,30)(26,31)(27,32)(28,33)( 29,34)(40,41), (7,13)(8,14)(9,15)(10,16)(11,17)(12,18)(21,23)(22,24)(30,35)(31,36)(32,37)(3 3,38)(34,39)(41,42) ]; gp := Group(gens); orbs := Orbits(gp); gpsGens := []; gps := []; for i in [1..Length(orbs)] do gpsGens[i] := List([1..Length(gens)], j -> RestrictedPerm( gens[j], orbs[i])); gps[i] := Group(gpsGens[i]); od; gp is the direct product of the gps You can now investigate them using GAP's built in functions, which have already been proved correct. looks relatively interesting. gap> Order(gps[1]); 2239488 gap> # looks relatively interesting gap> IsTransitive(gps[1]); true gap> IsPrimitive(gps[1]); false So that may be all you need. You can write gps[1] as a wreath product as follows: gap> bl := MaximalBlocks(gps[1],MovedPoints(gps[1])); [ [ 1, 2, 3, 4, 5, 6 ], [ 7, 8, 9, 10, 11, 12 ], [ 13, 14, 15, 16, 17, 18 ] ] # (Explained in Chapter 39 of the Ref. Manual.) gap> H := Stabilizer(gps[1], bl[1], OnSets); gap> HH := Group(List(GeneratorsOfGroup(H), g -> RestrictedPerm(g,bl[1]))); gap> K := Action(gps[1],bl,OnSets); Group([ (1,2,3), (2,3) ]) gap> wr := WreathProduct(HH,K); By construction, wr embeds in gps[1]. (I've assumed that gps[1] is acting the same way on each block.) Burkhard Hoefling suggests comparing orders: gap> Order(gps[1]); 2239488 gap> Order(wr); 2239488 They're the same, therefore the groups are isomorphic. gap> # This will take a while and is probably not a good idea unless you're gap> # _really_ sceptical gap> iso := IsomorphismGroups(wr,gps[1]); Once you've done this for all the gps you have gp as a direct product of wreath products, say (H1 wr K1) x (H2 wr K2) x ... x (Hn wr Kn) You can then write this as a subgroup of the wreath product (H1 x H2 x ... x Hn) wr (K1 x K2 x ... x Kn) but that seems a bit silly because it needs many more points to support its action. If you're interested in the actual algorithms, I seem to remember Greg Butler's 'Fundamental algorithms for permutation groups' being easy reading (if your library has it). Richard. ------------- Richard Barraclough School of Mathematical Sciences Queen Mary College web: www.maths.qmul.ac.uk/~rwb Mile End Road email: R.W.Barraclough@qmul.ac.uk London E1 4NS On 13/2/06 3:12 pm, "Alastair Donaldson" wrote: > Dear Forum members > > I am trying to write an algorithm which, given a permutation group G > acting (not necessarily transitively) on {1,2,.....,n} for some n>0, will > determine whether or not G is a wreath product of subgroups H and K. > > According to a previous posting by Burkhard Hoefling, I think this should > be fairly easy: > > "Wreath products of permutation groups can easily be recognized by looking > at their block structure, see `Blocks' in the GAP reference manual. In > general, a transitive permutation group G embeds in the wreath > product (action of block stabilizer on block) wr (action of G on > orbit of block), and you can easily check equality by comparing orders." > > However, the groups which crop up in my application domain do not tend to > act transitively. As an example, consider the group > > G := Group( [ (1,2), (2,3), (1,4)(2,5)(3,6)(19,20), (26,27), (28,29), > (1,7)(2,8)(3,9)(4,10)(5,11)(6,12)(19,21)(20,22)(25,30)(26,31)(27,32)(28,33)(29 > ,34)(40,41), > (7,13)(8,14)(9,15)(10,16)(11,17)(12,18)(21,23)(22,24)(30,35)(31,36)(32,37)(33, > 38)(34,39)(41,42) > ]); > > I have worked out that this decomposes in several possible ways as H wr K, > one of which is > > H := Group([ (33,34), (31,32), (11,12), (8,9), (10,11,12), (7,8,9), > (7,10)(8,11)(9,12)(21,22) ]); > > and > > K := Group([ > (7,13)(8,14)(9,15)(10,16)(11,17)(12,18)(21,23)(22,24)(30,35)(31,36)(32,37)(33, > 38)(34,39)(41,42), > (1,7,13)(2,8,14)(3,9,15)(4,10,16)(5,11,17)(6,12,18)(19,21,23)(20,22,24)(25,30, > 35)(26,31,36)(27,32,37)(28,33,38)(29,34,39)(40,41,42) ] > > (the group H can then be decomposed further as a direct product, one > factor of which is itself a wreath product). > > I have written a rather complex algorithm which does this decomposition > correctly for my example. However, I'm having trouble proving the > correctness of my algorithm, which is not nearly as simple as Buckhard's > approach of looking at blocks > and comparing orders. However, since blocks are not immediately > applicable when the group does not act transitively, I'm not sure how to > extend his suggested approach. > > Any ideas would be greatly appreciated > > -Alastair > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From ndroock1 at gmail.com Wed Feb 15 00:13:41 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Wed Feb 15 00:13:56 2006 Subject: [GAP Forum] StructureDescription Revisited In-Reply-To: <60206.12.211.103.182.1139683037.squirrel@webmail.ms.uky.edu> References: <60206.12.211.103.182.1139683037.squirrel@webmail.ms.uky.edu> Message-ID: Thanks, Your reply was very helpful. Since I can also report that while using ...SmallGroup(IdGroup... calculation was measurably faster. In my case: calculations that took >> 10 minutes ( I don't know the actual time, I cancelled after 10 min) are now done in seconds. Kind regards, nilo 2006/2/11, Jack Schmidt : > Howdy, as a quick fix you convert the matrix group to a > representation that is easier for GAP to use: > > for i in [1..10] do > Print(i,": ", > StructureDescription(SmallGroup(IdGroup(testG(8,i)))), > "\n"); > od; > > This should print: > > 1: QD16 > 2: (C8 x C4) : C2 > 3: C3 x QD16 > 4: (C16 x C4) : C2 > 5: C5 x QD16 > 6: C3 x ((C8 x C4) : C2) > 7: C7 x QD16 > 8: (C32 x C4) : C2 > 9: C9 x QD16 > 10: C5 x ((C8 x C4) : C2) > > > The (silly) reason this works is because IdGroup is an older more > mature function which has been tested and fixed for many years to > handle all sorts of groups given to it. StructureDescription is > much newer and does not yet protect itself against hard questions. > > > > On Sat, February 11, 2006 07:56, Nilo de Roock wrote: > > Hello GAP forum, > > > > I have posted some questions regarding StructureDescription() > > recently, thank you for all answers. ( It came a bit as a shock to me > > but I now understand that non-isomorphic groups can have the same > > structure description. So yes the answers have been -very- helpful. I > > have also updated to the latest GAP releases, both kernel and > > packages. ) > > > > I am however still a bit uncertain about how I should interpret the > > answers of StructureDescription() and what is the best (simplest) > > method of finding the structure of a group. Let me give an example. > > > > > > I am doing some experiments regarding generating sets of matrices and > > the structure of the group they generate. I use for example the > > following function: > > > > testG:=function(a,b) > > local M1; > > M1:=[[ [ 0, -E(a)^-1 ], [ -E(a), 0 ] ],[ [ 0, -1 ], [ 1, 0 ] ], [ [ > > E(4*b), 0 ], [ 0, -E(4*b) ] ],[ [ -1, 0 ], [ 0, -1 ] ]]; > > return (Group(M1)); > > end; > > > > I noticed the (for me...) interesting result that > > StructureDescription(testG(8,1)) = QD16 > > StructureDescription(testG(8,3)) =C3 X QD16 > > StructureDescription(testG(8,5))= C5 X QD16 > > For other numbers however... > > StructureDescription(testG(8,2))= GAP Error* > > StructureDescription(testG(8,4))= GAP Error* > > StructureDescription(testG(8,7))= GAP Error* > > > > *="... Error, no method found! For debugging hints type ?Recovery from > > NoMethodFound > > Error, no 2nd choice method found for `IsNaturalGL' on 1 arguments called > > fro\ > > m..." > > ( I interpreted the errors as "does not generate a group", or a bug in > > StructureDescription() for which a fix is due...) > > > > Size(testG(8,1))= 16 > > Size(testG(8,2))= 64 > > Size(testG(8,3))= 48 > > Size(testG(8,4))= 128 > > Size(testG(8,5))= 80 > > Size(testG(8,6))= 192 > > Size(testG(8,7))= 112 > > So there -are- groups generated. But which ones? > > > > ( Starting from Size(testG(4,7*11))= 176 computation time increased > > noticably. ) > > > > > > In this particular example I would very much like to know which group > > is generated in testG(8,2). Can GAP give an answer to that? Will the > > forthcoming update in StructureDescription() address this issue(if an > > issue at all)? > > > > More in general, am I perhaps using StructureDescription() in a wrong > > way or am I expecting too much from the command? > > > > Thanks in advance for any advice. > > nilo > > > > _______________________________________________ > > Forum mailing list > > Forum@mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > > > From ndroock1 at gmail.com Wed Feb 15 00:22:50 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Wed Feb 15 00:22:56 2006 Subject: [GAP Forum] StructureDescription Revisited In-Reply-To: References: <60206.12.211.103.182.1139683037.squirrel@webmail.ms.uky.edu> Message-ID: Hello Forum, This is a correction on my previous post. I wrote: "...are now done in seconds.", this should be: "are now done in a few minutes, some even in a few seconds." nilo 2006/2/15, Nilo de Roock : > Thanks, > > Your reply was very helpful. Since I can also report that while using > ...SmallGroup(IdGroup... calculation was measurably faster. In my > case: calculations that took >> 10 minutes ( I don't know the actual > time, I cancelled after 10 min) are now done in seconds. > > Kind regards, > nilo > > > 2006/2/11, Jack Schmidt : > > Howdy, as a quick fix you convert the matrix group to a > > representation that is easier for GAP to use: > > > > for i in [1..10] do > > Print(i,": ", > > StructureDescription(SmallGroup(IdGroup(testG(8,i)))), > > "\n"); > > od; > > > > This should print: > > > > 1: QD16 > > 2: (C8 x C4) : C2 > > 3: C3 x QD16 > > 4: (C16 x C4) : C2 > > 5: C5 x QD16 > > 6: C3 x ((C8 x C4) : C2) > > 7: C7 x QD16 > > 8: (C32 x C4) : C2 > > 9: C9 x QD16 > > 10: C5 x ((C8 x C4) : C2) > > > > > > The (silly) reason this works is because IdGroup is an older more > > mature function which has been tested and fixed for many years to > > handle all sorts of groups given to it. StructureDescription is > > much newer and does not yet protect itself against hard questions. > > > > > > > > On Sat, February 11, 2006 07:56, Nilo de Roock wrote: > > > Hello GAP forum, > > > > > > I have posted some questions regarding StructureDescription() > > > recently, thank you for all answers. ( It came a bit as a shock to me > > > but I now understand that non-isomorphic groups can have the same > > > structure description. So yes the answers have been -very- helpful. I > > > have also updated to the latest GAP releases, both kernel and > > > packages. ) > > > > > > I am however still a bit uncertain about how I should interpret the > > > answers of StructureDescription() and what is the best (simplest) > > > method of finding the structure of a group. Let me give an example. > > > > > > > > > I am doing some experiments regarding generating sets of matrices and > > > the structure of the group they generate. I use for example the > > > following function: > > > > > > testG:=function(a,b) > > > local M1; > > > M1:=[[ [ 0, -E(a)^-1 ], [ -E(a), 0 ] ],[ [ 0, -1 ], [ 1, 0 ] ], [ [ > > > E(4*b), 0 ], [ 0, -E(4*b) ] ],[ [ -1, 0 ], [ 0, -1 ] ]]; > > > return (Group(M1)); > > > end; > > > > > > I noticed the (for me...) interesting result that > > > StructureDescription(testG(8,1)) = QD16 > > > StructureDescription(testG(8,3)) =C3 X QD16 > > > StructureDescription(testG(8,5))= C5 X QD16 > > > For other numbers however... > > > StructureDescription(testG(8,2))= GAP Error* > > > StructureDescription(testG(8,4))= GAP Error* > > > StructureDescription(testG(8,7))= GAP Error* > > > > > > *="... Error, no method found! For debugging hints type ?Recovery from > > > NoMethodFound > > > Error, no 2nd choice method found for `IsNaturalGL' on 1 arguments called > > > fro\ > > > m..." > > > ( I interpreted the errors as "does not generate a group", or a bug in > > > StructureDescription() for which a fix is due...) > > > > > > Size(testG(8,1))= 16 > > > Size(testG(8,2))= 64 > > > Size(testG(8,3))= 48 > > > Size(testG(8,4))= 128 > > > Size(testG(8,5))= 80 > > > Size(testG(8,6))= 192 > > > Size(testG(8,7))= 112 > > > So there -are- groups generated. But which ones? > > > > > > ( Starting from Size(testG(4,7*11))= 176 computation time increased > > > noticably. ) > > > > > > > > > In this particular example I would very much like to know which group > > > is generated in testG(8,2). Can GAP give an answer to that? Will the > > > forthcoming update in StructureDescription() address this issue(if an > > > issue at all)? > > > > > > More in general, am I perhaps using StructureDescription() in a wrong > > > way or am I expecting too much from the command? > > > > > > Thanks in advance for any advice. > > > nilo > > > > > > _______________________________________________ > > > Forum mailing list > > > Forum@mail.gap-system.org > > > http://mail.gap-system.org/mailman/listinfo/forum > > > > > > > > > > From kohl at mathematik.uni-stuttgart.de Wed Feb 15 10:35:52 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Wed Feb 15 10:35:59 2006 Subject: [GAP Forum] StructureDescription Revisited In-Reply-To: References: Message-ID: <43F30408.7050604@mathematik.uni-stuttgart.de> Dear Forum, Nilo de Roock wrote: > I am doing some experiments regarding generating sets of matrices and > the structure of the group they generate. I use for example the > following function: > > testG:=function(a,b) > local M1; > M1:=[[ [ 0, -E(a)^-1 ], [ -E(a), 0 ] ],[ [ 0, -1 ], [ 1, 0 ] ], [ [ > E(4*b), 0 ], [ 0, -E(4*b) ] ],[ [ -1, 0 ], [ 0, -1 ] ]]; > return (Group(M1)); > end; > > I noticed the (for me...) interesting result that > StructureDescription(testG(8,1)) = QD16 > StructureDescription(testG(8,3)) =C3 X QD16 > StructureDescription(testG(8,5))= C5 X QD16 > For other numbers however... > StructureDescription(testG(8,2))= GAP Error* > StructureDescription(testG(8,4))= GAP Error* > StructureDescription(testG(8,7))= GAP Error* > > *="... Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 2nd choice method found for `IsNaturalGL' on 1 arguments called fro\ > m..." > ( I interpreted the errors as "does not generate a group", or a bug in > StructureDescription() for which a fix is due...) Thanks for reporting this! This problem will be fixed in the next update. In the meantime -- as already several people have suggested -- you can use StructureDescription( Image ( IsomorphismPermGroup( ) ) ) instead. Technically, the reason for the error message is that a trivial method for `IsGeneralLinearGroup' for matrix groups in lib/grpmat.gi which is ranked higher than the nontrivial method for generic groups in lib/grpnames.gi calls the operation `IsNaturalGL', for which currently no nontrivial method is available. Thanks again and best wishes, Stefan Kohl --------------------------------------------------------------------------- Stefan Kohl Institut f?r Geometrie und Topologie Pfaffenwaldring 57 Universit?t Stuttgart 70550 Stuttgart / Germany E-mail: kohl@mathematik.uni-stuttgart.de Web: http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/ --------------------------------------------------------------------------- From wdjoyner at comcast.net Thu Feb 16 03:24:39 2006 From: wdjoyner at comcast.net (David Joyner) Date: Thu Feb 16 18:16:47 2006 Subject: [GAP Forum] guava 2.5 Message-ID: <43F3F077.4000801@comcast.net> Hello GAP people: GUAVA 2.5 is now officially released. You can find it on the GAP website or the URL http://cadigweb.ew.usna.edu/~wdj/gap/GUAVA/ New features are described in http://cadigweb.ew.usna.edu/~wdj/gap/GUAVA/CHANGES The main difference is that GUAVA 2.5 requires SONATA 2.3. Recently, Cary Huffman has discovered a number of codes for which AutomorphismGroup fails. This program calls Leon's C code. The error seems to be so serious that Leon's code will have to eventually abandoned (and hopefully replaced by someone's else's some day). - David Joyner From ndroock1 at gmail.com Sat Feb 18 20:19:05 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sat Feb 18 20:20:07 2006 Subject: [GAP Forum] Bug Report Message-ID: Hello GAP Forum, Below you'll find - GAP output - listing of the GAP program I was running - contents of stackdumpfile I hope this helps. Kind regards, nilo I got the following output... gap> str(testH(3)); "(C12 x C2) : C2" gap> str(testH(9)); "(C36 x C2) : C2" gap> str(testH(27)); 4 [main] gapw95 101740 handle_exceptions: Exception: STATUS_ACCESS_VIOLATI ON 18102 [main] gapw95 101740 open_stackdumpfile: Dumping stack trace to gapw95.e xe.stackdump testH:=function(p) local M, M1, T; # QD16 (8) # M1:=[ [[ 1, 0, 0 ], [0, 0, E(8)^-1 ], [0, E(8), 0 ] ], # [[ 1, 0, 0 ], [0, E(4), 0 ], [0, 0, -E(4) ] ], # [[ 1, 0, 0 ], [0, 0, -1 ], [0, 1, 0 ] ], # [[ 1, 0, 0 ], [0, 1, 0 ], [0, 0, 1 ] ] ]; M1:=[ [[ 1, 0, 0, 0 ], [0, 0, E(p)^-1, 0 ], [0, E(p), 0, 0 ], [0, 0, 0, 1 ] ], [[ 1, 0, 0, 0 ], [0, E(4), 0, 0 ], [0, 0, -E(4), 0 ], [0, 0, 0, 1 ] ], [[ 1, 0, 0, 0 ], [0, 0, -1, 0 ], [0, 1, 0, 0 ], [0, 0, 0, 1 ] ], [[ 1, 0, 0, 0 ], [0, 1, 0, 0 ], [0, 0, 1, 0 ], [0, 0, 0, 1 ] ]]; return (SmallGroup(IdGroup(Group(M1)))); end; Exception: STATUS_ACCESS_VIOLATION at eip=00483218 eax=00000001 ebx=0AAE6098 ecx=00000000 edx=0A4A8FF8 esi=10F71F04 edi=0EA3D19C ebp=0022DE48 esp=0022DE00 program=C:\GAP4R4\bin\gapw95.exe, pid 101740, thread main cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023 Stack trace: Frame Function Args 0022DE48 00483218 (00000010, 00000000, 00000001, 0DA3434F) 0022DE68 00482B14 (00000002, 00000010, 0E990EBC, 00000000) 0022DEA8 00487552 (368D0D3D, 0A9AED74, 00000002, 0A9AECEC) 0022DED8 004D88B0 (0A66CE54, 0A9ADF38, 0022DF18, 0A070A4C) 0022DF08 0049F6E0 (0A06D150, 0AC644D4, 0A658648, 0A9ADF38) 0022DF98 004BCCC3 (0A093200, 0AC644D4, 0A658648, 0A9ADF38) 0022DFD8 004778AB (000004CC, 0A52A354, 00000504, 000005EC) 0022DFF8 004EDE54 (0000053C, 0B80DA28, 0022E028, 004ECA66) 0022E008 004EC714 (000005EC, 0AAE8D90, 0022E048, 0B80DA28) 0022E028 004ECA66 (00000600, 00000638, 0022E048, 004A4100) 0022E048 004EC9E6 (00000614, 0AAD14A4, 0022E088, 000003B8) 0022E068 004EC9E6 (00000620, 00000005, 0022E098, 00000007) 0022E098 004ED698 (0000062C, 00000714, 0022E0C8, 00000240) 0022E0B8 004EC5D5 (0000063C, 00000009, 0022E0D8, 00000005) 0022E0D8 004EDBC9 (00000664, 0A529E7C, 0022E0F8, 00000004) 0022E0F8 004EC5D5 (00000718, 0000016C, 0022E128, 0047975D) End of stack trace (more stack frames may be present) From ndroock1 at gmail.com Sat Feb 18 20:36:48 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sat Feb 18 20:38:03 2006 Subject: [GAP Forum] Re: Bug Report In-Reply-To: References: Message-ID: Hello GAP Forum, Two remarks about the bug report I just emailed. 1. Please note that although my GAP program is in C:\GAP4R4\bin\gapw95.exe I only recently updated to the latest releases. 2. str is an alias for StructureDescription (if that wasn't clear from the context already). Kind regards, nilo From andrew_johnson at uk.ibm.com Sun Feb 19 15:43:48 2006 From: andrew_johnson at uk.ibm.com (Andrew Johnson) Date: Sun Feb 19 15:43:57 2006 Subject: [GAP Forum] RepresentativeAction gives error Message-ID: I'm using GAP (gap4r4p6-win.zip) to investigate some permutation groups. group1 := Group([ (1,3)(2,5)(4,7)(6,8), (1,4)(2,6)(3,7)(5,8), (1,5)(2,3)(4,8)(6,7), (2,3,4,5,7,8,6), (3,4,7)(5,6,8) ]); group2 := Group([ (1,3,4,7,2,6,8), (1,8,7,5,3,6,2) ]); group3 := SymmetricGroup([1..8]); RepresentativeAction(group3,group1,group2); gives: Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `ONE' on 1 arguments called from OneOp( elm ) called from One( F ) called from CallFuncList( Refinements.(Rf.func), Concatenation( [ rbase, image ], Rf.args ) ) called from RRefine( rbase, image, false ) called from PBEnumerate( 1, not repr ) called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue Is this expected? My work around is to use First(AsList(group3),e->group1^e=group2); If this gets too slow, then I might use IsomorphismGroups(group1, group2) to see first of all whether the groups are isomorphic or compare cycle structures of the elements. signature2:= function(g) local cg,c2; cg := ConjugacyClasses(g); c2 := List(cg, c->[CycleStructurePerm(Representative(c)),Size(c)]); return SortedList(c2); end; to weed out groups which are clearly not conjugate. [The reference manual for IsConjugate says 'This command is only a shortcut to RepresentativeOperation.' I presume this should be updated to the prefered name of RepresentativeAction.] Andrew Johnson From teron at udm.ru Wed Feb 22 18:57:54 2006 From: teron at udm.ru (Serge) Date: Wed Feb 22 18:59:26 2006 Subject: [GAP Forum] Question about semigroup and finite-state machine Message-ID: Hello. My problem is simple, but it is very urgent and unfortunately I cannot solve it myself. I have a task: There is a jump table of finite-state machine. I must calculate the semigroup of this FSM. Following information is known: 1. Alphabet of FSM, set of initial and final states are the same 2. Size of jump table is limited to 5*5 As far as I know, semigroup of finite-state machine is the set of congruence classes of its elements. In my case, FSM is representation from A*A to A (f: AA -> A), where A is alphabet, set of initial and final states. I thought that AA means Cartesian product, or in this case second Cartesian power of set A, but I was wrong. So, the first question is: Can anyone explain, how should I treat record AA? According to the definition of congruence relation, x is congruent to y, if they are equivalent and for any t xt is equivalent to yt and tx is equivalent to ty. According to the definition of semigroup of machine, t1 is congruent to t2 if for all a and b from AA f(at1b)=f(at2b), where f is our machine. The second question is: How should I apply machine to the string? My teacher said that at1b is concatenation of strings, but I am still unclear, how to calculate f(at1b). And the last question: My teacher recommends me to use GAP in order to solve this task. But I didn't use GAP earlier. Can you tell me, which advantages I receive, if I will use GAP for this task? Any help is appreciated. Thank you in advance. P.S. Any advices about algorithm are greatly appreciated. _____ Best Regards, Serge. mailto:teron@udm.ru ICQ 315293596 ---------------------------------------------------- ????? ???????? ????? ?? - ??????????? ???????? ??? ????? ?????? - ?????? ????? http://www.mark-itt.ru/MARK-ITT/Contract/current/price.htm From hulpke at math.colostate.edu Fri Feb 24 17:16:34 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Fri Feb 24 17:16:52 2006 Subject: [GAP Forum] Fwd: [GAP Support] Suggested response: RepresentativeAction gives error References: <7CA77904-F8E4-4095-96FC-EB3E2BAE122A@mac.com> Message-ID: Dear GAP-Forum, Andrew Johnson reported a bug in `RepresentativeAction' for subgroups. Thank you very much. This error will be corrected in the next bugfix. Before going into details of the bug in question, let me take this opportunity to remind everyone of the existence of the email address support@gap-system.org, which is intended for bug reports or to request help with installation problems. The forum email list goes to several hundred people worldwide, most of whom likely are not interested in lengthy error descriptions or stack dumps. Now to the bug in question. What happens is that the conjugacy test in permutation groups contains a special treatment for groups with an elementary abelian regular subgroup (EARNS), as such groups are important in the classification of primitive groups. What is missing is the (easy) check that not just one, but both groups have an EARNS. In the example this was not the case, the error was triggered when trying to use the EARNS of group2. (You can verify this by swapping group2 and group1.) As mentioned this will be corrected in the next bugfix. In case you are testing a larger set of subgroups of S_n (for n<=31) for conjugacy, you might want to look as well as the command `TransitiveIdentification', which uses the classification of transitive subgroups of the symmetric group (known up to degree 31) and which is likely to be much faster. Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From ndroock1 at gmail.com Sun Feb 26 10:44:56 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sun Feb 26 10:45:23 2006 Subject: [GAP Forum] StructureDescription Message-ID: Hello GAP forum, Forgive for yet another question (...) on this command, perhaps I am using the wrong command for my purpose. When I execute the following command. gap> List(AllGroups(20),StructureDescription); GAP responds with [ "C5 : C4", "C20", "C5 : C4", "D20", "C10 x C2" ] The issue I have here is that "C5:C4" occurs twice in the list. What I am looking for is a command that would recognize that the Frobenius group is in there somewhere. Even if I do... gap> F:=FreeGroup(2); gap> s:=F.1; f1 gap> t:=F.2; f2 gap> G:=F/[s^4,t^5,t*s*t^-2*s^-1]; gap> Size(G); 20 gap> str(G); "C5 : C4" gap> the answer is "C5:C4". I am getting lost on this command, and thus on GAP. Please help. -- met vriendelijke groet, Nilo de Roock From bob.heffernan at gmail.com Sun Feb 26 13:46:10 2006 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Sun Feb 26 13:46:17 2006 Subject: [GAP Forum] StructureDescription In-Reply-To: References: Message-ID: <6d9a83e90602260546l300e247boebb2d1d449125949@mail.gmail.com> On 2/26/06, Nilo de Roock wrote:> The issue I have here is that "C5:C4" occurs twice in the list. What I am> looking for is a command that would recognize that the Frobenius group> is in there somewhere. The semidirect product of two groups is not unique, this is why C5:C4occurs twice. You can ask GAP to construct an explicit isomorphismbetween F and one of the two C5:C4 groups: gap> F:=FreeGroup(2);;gap> s:=F.1;; t:=F.2;;gap> G:=F/[s^4,t^5,t*s*t^-2*s^-1];;gap> StructureDescription(G);"C5 : C4"gap> IsomorphismGroups(G,SmallGroup(20,1));failgap> IsomorphismGroups(G,SmallGroup(20,3));[ f1, f2 ] -> [ f1, f3 ] So, as you can see, F is isomorphic to SmallGroup(20,3). I hope this helps. From ndroock1 at gmail.com Sun Feb 26 16:39:12 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sun Feb 26 16:39:29 2006 Subject: [GAP Forum] Unexpected Behaviour in Size() Message-ID: Hello GAP forum, I created the free group ( i got this spec. for the group from a textbook-exercise ): gap> F:=FreeGroup(3); gap> x:=F.1; f1 gap> y:=F.2; f2 gap> z:=F.3; f3 gap> G:=F/[y^3*z^15,x^4*y^7*z^3,x^8,y^14,z^18]; Then when I wanted to now the size of the group, GAP became a bit of erratic. gap> Size(G); #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit user interrupt at firstFree := app[6]; called from TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from CosetTableFromGensAndRels( fgens, grels, List( trial, UnderlyingElement ) ) called from Attempt( gens ) called from FinIndexCyclicSubgroupGenerator( G, infinity ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> quit; #I Options stack has been reset gap> G:=F/[y^3*z^15,x^4*y^7*z^3,x^8*y^14*z^18]; gap> Size(G); #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit exceeded the permitted memory (`-o' command line option) at g[2 * limit] := 0; called from TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from CosetTableFromGensAndRels( fgens, grels, List( trial, UnderlyingElement ) ) called from Attempt( trial ) called from Attempt( gens ) called from FinIndexCyclicSubgroupGenerator( G, infinity ) called from ... Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Sorry but, any idea what's wrong in this case? Thanks on beforehand for any advice. -- met vriendelijke groet, Nilo de Roock From dima at ntu.edu.sg Sun Feb 26 18:08:25 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Sun Feb 26 18:09:50 2006 Subject: [GAP Forum] Unexpected Behaviour in Size() In-Reply-To: Message-ID: Dear Forum, On 2/27/06 12:39 AM, "Nilo de Roock" wrote: > Hello GAP forum, > > I created the free group ( i got this spec. for the group from a > textbook-exercise ): > gap> F:=FreeGroup(3); > > gap> x:=F.1; > f1 > gap> y:=F.2; > f2 > gap> z:=F.3; > f3 > gap> G:=F/[y^3*z^15,x^4*y^7*z^3,x^8,y^14,z^18]; > > > Then when I wanted to now the size of the group, GAP became a bit of > erratic. > That's a huge group for sure (as you can gather, using PQuotient, that it's at least 2^97) Can it be ininite? Anyhow, enumerating conjugacy classes modulo the trivial subgroup (that's what Size will try to do) is out of the question. -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From hulpke at mac.com Sun Feb 26 18:21:56 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Sun Feb 26 18:22:29 2006 Subject: [GAP Forum] Unexpected Behaviour in Size() In-Reply-To: References: Message-ID: <15FD609B-88E8-45F2-81C5-BC8B74E31162@mac.com> Dear GAP-Forum, Nilo de Roock wrote: On Feb 26, 2006, at 9:39 AM, Nilo de Roock wrote: > Hello GAP forum, > > I created the free group ( i got this spec. for the group from a > textbook-exercise ): > gap> F:=FreeGroup(3); > > gap> x:=F.1; > f1 > gap> y:=F.2; > f2 > gap> z:=F.3; > f3 > gap> G:=F/[y^3*z^15,x^4*y^7*z^3,x^8,y^14,z^18]; > > > Then when I wanted to now the size of the group, GAP became a bit > of erratic. I would not call this erratic. This is the expected behaviour, as there are fundamental difficulties on algorithmic methods for finitely presented groups. (The so-called ``word problem''.) You might want to read the AMS notices article by 'Akos Seress (notices.ps on the page http://www.math.ohio-state.edu/~akos/ ) or the recent ``Handbook of Computational Group Theory'' by Holt et. al. for methods used and some of the fundamental problems arising. GAP issues warnings that it is performing a lot (probably more than you expected) work, and still does not have a result. This is an indication that you might needs lots of memory or would be on the way of overloading your computer without ever getting a result -- GAP is trying to stop you doing something you don't really want. In your case, GAP tries to compute the size of an fp group by calculating the index of a cyclic subgroup and rewriting the presentation. However an easy calculation (abelian invariants of G') shows that your group is infinite and cannot have any cyclic subgroup of finite index. Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From dfh at maths.warwick.ac.uk Sun Feb 26 20:49:06 2006 From: dfh at maths.warwick.ac.uk (Derek Holt) Date: Sun Feb 26 20:50:54 2006 Subject: [GAP Forum] Unexpected Behaviour in Size() In-Reply-To: <15FD609B-88E8-45F2-81C5-BC8B74E31162@mac.com> References: <15FD609B-88E8-45F2-81C5-BC8B74E31162@mac.com> Message-ID: <20060226204906.GA4036@maths.warwick.ac.uk> Dear GAP-Forum, On Sun, Feb 26, 2006 at 11:21:56AM -0700, Alexander Hulpke wrote: > Dear GAP-Forum, > > Nilo de Roock wrote: > > On Feb 26, 2006, at 9:39 AM, Nilo de Roock wrote: > > >Hello GAP forum, > > > >I created the free group ( i got this spec. for the group from a > >textbook-exercise ): > >gap> F:=FreeGroup(3); > > > >gap> x:=F.1; > >f1 > >gap> y:=F.2; > >f2 > >gap> z:=F.3; > >f3 > >gap> G:=F/[y^3*z^15,x^4*y^7*z^3,x^8,y^14,z^18]; > > > > > >Then when I wanted to now the size of the group, GAP became a bit > >of erratic. > > I would not call this erratic. > > This is the expected behaviour, as there are fundamental difficulties > on algorithmic methods for finitely presented groups. (The so-called > ``word problem''.) > You might want to read the AMS notices article by 'Akos Seress > (notices.ps on the page http://www.math.ohio-state.edu/~akos/ ) > or the recent ``Handbook of Computational Group Theory'' by Holt et. > al. for methods used and some of the fundamental problems arising. > > GAP issues warnings that it is performing a lot (probably more than > you expected) work, and still does not have a result. This is an > indication that you might needs lots of memory or would be on the way > of overloading your computer without ever getting a result -- GAP is > trying to stop you doing something you don't really want. > > In your case, GAP tries to compute the size of an fp group by > calculating the index of a cyclic subgroup and rewriting the > presentation. However an easy calculation (abelian invariants of G') > shows that your group is infinite and cannot have any cyclic subgroup > of finite index. Another way to show that the group is infinite is to use rewriting systems. The MakeConfluent command succeeds quickly, and by inspecting the rules in the confluent system, we find that G = < x,y,z | z^3=y, y^2=1, x^4=1, yz=zy >, so G is the free product of the cyclic groups and or orders 6 and 4. In fact it is not difficult to establish that with a hand calculation, which was probably what was intended in the textbook exercise! I guess in a perfect world, asking whether a finitely presented group was finite or infinite would automatically trigger these types of calculations (coset enumeration, abelian invariants of finite index subgroups, rewriting systems) each being tried in succession (or perhaps in parallel) for progressively longer times. Derek Holt. From dutour at liga.ens.fr Thu Feb 23 05:17:19 2006 From: dutour at liga.ens.fr (Mathieu Dutour) Date: Mon Feb 27 10:16:54 2006 Subject: [GAP Forum] A strange error Message-ID: <20060223051719.GA24588@orge.ens.fr> Hi all, I got the following error with gap 4.4.6: gap> RepresentativeAction(Group(()), [1], [2], OnSets); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for epresentativeActionOp' on 3 arguments called from RepresentativeActionOp( G, d[1], e[1] ) called from RepresentativeActionOp( G, d, e, act ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> The following commands work as expected. RepresentativeAction(Group(()), [1], [1], OnSets); RepresentativeAction(Group(()), [1], [1,3], OnSets); RepresentativeAction(Group(()), [1,3], [2,3], OnSets); Mathieu -- Mathieu Dutour Sikiric Researcher in Math Tel. (+972)2 65 84 103 and Computer Science Fax. (+972)2 56 30 702 Einstein Institute of Mathematics E-mail: Mathieu.Dutour@ens.fr Hebrew University of Jerusalem http://www.liga.ens.fr/~dutour Israel From hulpke at math.colostate.edu Mon Feb 27 20:05:31 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon Feb 27 20:06:21 2006 Subject: [GAP Forum] A strange error In-Reply-To: <20060223051719.GA24588@orge.ens.fr> References: <20060223051719.GA24588@orge.ens.fr> Message-ID: Dear GAP-Forum, On Feb 22, 2006, at 22:17 , Mathieu Dutour wrote: > I got the following error with gap 4.4.6: > gap> RepresentativeAction(Group(()), [1], [2], OnSets); Thank you for the error report. This will be corrected in the next bugfix. (Let me know in private, if you want a temporary patch.) Best wishes, Alexander Hulpke PS: I would like to take the opportunity to once more remind everyone of the `support@gap-system.org' email address for reporting errors which likely are of little interest to the whole list. From ndroock1 at gmail.com Mon Feb 27 21:05:51 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Feb 27 21:07:01 2006 Subject: [GAP Forum] StructureDescription In-Reply-To: <200602261339.19621.costanti@science.unitn.it> References: <200602261339.19621.costanti@science.unitn.it> Message-ID: Hello Marco, Thank you very much for your help. And, yes I will use the support address in the future for this sort of questions. Since GAP is Open Source anyway, is it possible to subscribe to the support-list? These lists usually become the best knowledgebase around, at least for the other software I work with. ( The only thing that's preventing me from reading the GAP source code is the language, C instead Java. Well, Java wasn't around when it all started. ) Although I am still fairly new to GAP I think it's fair to say that the feedback and answers on this list are both excellent and friendly. Isn't that' a rather unique combination in the field? kind regards, nilo de roock 2006/2/26, Marco Costantini : > Dear Nilo de Roock, > > (Warning: > this answer is a draft, and has not yet been discussed with other people > of the GAP Support Group. More detailed information may (or may not) > arrive later. Feel free to write again if you need more help. For any > remark concerning this mail, please do not reply to me, but write to > support@gap-system.org .) > > We offer to react as well as we can to questions, requests for help with > problems, or complaints that you may have. However, for the sake of the whole > user community of GAP, we ask you to separate these into two different > categories. > > GAP Support. We would like to deal with those topics that are more or less > local to you, that is, are likely not of interest to most of the other GAP > users by direct correspondence with you. Please send letters about such local > problems and questions also to the address support@gap-system.org. > > GAP Forum. On the other hand, the GAP Forum should be reserved for > discussions about problems that are likely to interest many of the GAP users. > It would also be welcome if you could occasionally tell other users in the > GAP Forum about interesting applications you have made of GAP. > > > On Sunday 26 February 2006 11:44, Nilo de Roock wrote: > > Hello GAP forum, > > > > Forgive for yet another question (...) on this command, perhaps I am using > > the wrong command for my purpose. When I execute the following command. > > > > gap> List(AllGroups(20),StructureDescription); > > > > GAP responds with > > [ "C5 : C4", "C20", "C5 : C4", "D20", "C10 x C2" ] > > > > The issue I have here is that "C5:C4" occurs twice in the list. > > Yes, in fact StructureDescription is not injective, an two of the groups with > 20 elements have a similar structure. > > > What I am > > looking for is a command that would recognize that the Frobenius group > > is in there somewhere. > > > > > > Even if I do... > > > > gap> F:=FreeGroup(2); > > > > gap> s:=F.1; > > f1 > > gap> t:=F.2; > > f2 > > gap> G:=F/[s^4,t^5,t*s*t^-2*s^-1]; > > > > gap> Size(G); > > 20 > > gap> str(G); > > "C5 : C4" > > gap> > > > > the answer is "C5:C4". > > > > > > I am getting lost on this command, and thus on GAP. Please help. > > A possibility is simply > > gap> IdGroup(G); > [ 20, 3 ] > > that is, G is the 3rd group in AllGroups(20) . > > Another possibility is to use StructureDescription only to restrict to some of > the groups, and then to proceed with something else. For instance > > gap> G_20_1 := SmallGroup(20,1); > > gap> G_20_3 := SmallGroup(20,3); > > > After using StructureDescription you know that the other groups with 20 > elements are not isomorphic to your G. > > After that you can use: > > gap> IsomorphismGroups( G_20_1, G ); > fail > gap> IsomorphismGroups( G_20_3, G ); > [ f1, f2, f3 ] -> [ f1^5, f1^2, f2 ] > > you can also use: > > gap> Length( ConjugacyClasses( G ) ); > 5 > gap> Length( ConjugacyClasses( G_20_1 ) ); > 8 > gap> Length( ConjugacyClasses( G_20_3 ) ); > 5 > > you can also use anything else analogous. > > All the best, > Marco Costantini > From wdjoyner at comcast.net Mon Feb 27 12:08:22 2006 From: wdjoyner at comcast.net (David Joyner) Date: Tue Feb 28 02:57:38 2006 Subject: [GAP Forum] GAP's impact on mathematics Message-ID: <4402EBB6.50406@comcast.net> Hello: Although the GAP website has a bibliography, and an examples page http://www.gap-system.org/Doc/Examples/examples.html , I was looking for a page summarizing some of the problems GAP has helped resolve. What are some interesting problems in mathematics that GAP was instrumental in resolving? Has GAP resolved any famous conjectures? Work on Riemann surfaces using "braid", based on Thomas Breuer's ideas, comes to mind as an example. Unfortunately, that isn't even mentioned, as far as I could see. Anyone else have any favorite applications of GAP? - David Joyner From aodabas at ogu.edu.tr Tue Feb 28 16:47:35 2006 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Tue Feb 28 16:47:22 2006 Subject: [GAP Forum] elements of algebra Message-ID: <001101c63c86$ad5a0540$a8838cc1@ogu209> Good day. I have some (maybe stupid) questions: How can I get all elements of given algebra? For elements a,b in group G the command a^b in GAP computes (b^-1ab). How can I compute it in algebra case. is GAP best way in Commutative Algebra??? or CoCoA, Magma Thank you. Alper From kohl at mathematik.uni-stuttgart.de Thu Mar 2 12:14:33 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Thu Mar 2 12:14:37 2006 Subject: [GAP Forum] elements of algebra In-Reply-To: <001101c63c86$ad5a0540$a8838cc1@ogu209> References: <001101c63c86$ad5a0540$a8838cc1@ogu209> Message-ID: <4406E1A9.5000000@mathematik.uni-stuttgart.de> Dear Forum, Alper Odaba? wrote: > Good day. > I have some (maybe stupid) questions: > How can I get all elements of given algebra? If your algebra is finite, then you can use `AsList'. E.g.: gap> A := FullMatrixAlgebra(GF(2),2); ( GF(2)^[ 2, 2 ] ) gap> AsList(A); [ [ , ], [ ... (rest of output omitted for saving space) ... ] > For elements a,b in group G the command a^b in GAP computes (b^-1ab). How can I compute it in algebra case. In general you cannot. The reason for this is simply that in general not all elements of an algebra are invertible. > is GAP best way in Commutative Algebra??? or CoCoA, Magma I feel that I am not a neutral person in this respect, thus prefer to leave commenting on this to other people. Hope this helps, Stefan Kohl From hulpke at math.colostate.edu Thu Mar 2 18:15:55 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Thu Mar 2 18:17:04 2006 Subject: [GAP Forum] Serious bug in `PolynomialReduction' Message-ID: <9B0852C4-F263-4392-AB2A-42222D3D7237@math.colostate.edu> Dear GAP Forum, A user has reported a serious bug in the code for polynomial reduction (thus also affecting Groebner bases), which may return wrong results without warning. (See below for an example) This bug will be corrected in the forthcoming next bugfix. If you are using Groebner bases and need a temporary workaround already now, you can download the file http://www.math.colostate.edu/~hulpke/workaround.gi Read this file in with *Reread* (not Read, as it overwrites some library functions) We apologize for this problem! Alexander Hulpke Example with correct output: x:=X(Rationals,"x");; y:=X(Rationals,"y");; a:=X(Rationals,"a");; c:=X(Rationals,"c");; s:=X(Rationals,"s");; L:=[(a+c)*s-x,(a+c)*c-y,s^2+c^2-1];; ReducedGroebnerBasis(L,MonomialLexOrdering([x,y,a,c,s])); [ c^2+s^2-1, -a*c+s^2+y-1, -a*s-c*s+x ] (2nd polynomial was wrong!) -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From anvita21 at usa.com Fri Mar 3 05:11:01 2006 From: anvita21 at usa.com (Anvita) Date: Fri Mar 3 05:14:16 2006 Subject: [GAP Forum] Coefficients of constant polynomials Message-ID: <20060303051101.4C0A0BA44C@ws3-2.us4.outblaze.com> Dear Forum, When I apply the function "CoefficientsOfUnivariatePolynomial" to the unit polynomial I get the result [ 1 ], as expected: ----------------------------------------------- gap> R:=PolynomialRing(Integers,["x"]); PolynomialRing(..., [ x ]) gap> i:=One(R); 1 gap> CoefficientsOfUnivariatePolynomial(i); [ 1 ] ----------------------------------------------- For the zero polynomial, however, it returns an empty set: ----------------------------------------------- gap> o:=Zero(R); 0 gap> CoefficientsOfUnivariatePolynomial(o); [ ] ----------------------------------------------- Why isn't the result [ 0 ] ? Could this be a bug? Thank you Anvita -- ___________________________________________________ Play 100s of games for FREE! http://games.mail.com/ From alexander.konovalov at gmail.com Fri Mar 3 10:55:43 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Fri Mar 3 10:57:17 2006 Subject: [GAP Forum] LAGUNA 3.3.2 Message-ID: <5b6b8f6c0603030255u47926866iafa7cdb4ef2bd20@mail.gmail.com> Dear GAP Forum, this is to announce the availability of the new version of the LAGUNA package. The LAGUNA package provides functionality for calculation of the normalized unit group of the modular group algebra of the finite p-group and for investigations of Lie algebras associated with group algebras. LAGUNA 3.3.2 was released on March 01, 2006 and it is available from the following pages: - http://ukrgap.exponenta.ru/laguna.htm - http://www.gap-system.org/Packages/laguna.html and also in a merged archive of all currently redistributed GAP packages available from http://www.gap-system.org/Download/index.html The new version resolves a problem in compatibility with GAP methods for Lie algebras and essentially improves performance for computation of the normalized unit group in abelian case. Sincerely yours, Alexander Konovalov From hulpke at mac.com Fri Mar 3 16:07:39 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Fri Mar 3 16:09:22 2006 Subject: [GAP Forum] Coefficients of constant polynomials In-Reply-To: <20060303051101.4C0A0BA44C@ws3-2.us4.outblaze.com> References: <20060303051101.4C0A0BA44C@ws3-2.us4.outblaze.com> Message-ID: <571DE562-15CE-4DA9-A6B3-BD626AE7B173@mac.com> Dear Forum, `Anvita21' wrote: > When I apply the function "CoefficientsOfUnivariatePolynomial" to the > > unit polynomial I get the result [ 1 ], as expected: > > > > For the zero polynomial, however, it returns an empty set: Yes. the zero polynomial is stored by an empty coefficient list, as there are no nonzero coefficients. > Why isn't the result [ 0 ] ? Because storing the zero polynomial that way would require extra treatment in some arithmetic routines (e.g. multiplication). > > Could this be a bug? No. This is intended. Best wishes, Alexander Hulpke > ___________________________________________________ > Play 100s of games for FREE! http://crappy.advertising.dump/ From alexk at mcs.st-and.ac.uk Sat Mar 4 10:21:39 2006 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Sat Mar 4 10:08:17 2006 Subject: [GAP Forum] LAGUNA 3.3.2 Message-ID: Dear GAP Forum, this is to announce the availability of the new version of the LAGUNA package. The LAGUNA package provides functionality for calculation of the normalized unit group of the modular group algebra of the finite p-group and for investigations of Lie algebras associated with group algebras. LAGUNA 3.3.2 was released on March 01, 2006 and it is available from the following pages: - http://ukrgap.exponenta.ru/laguna.htm - http://www.gap-system.org/Packages/laguna.html and also in a merged archive of all currently redistributed GAP packages available from http://www.gap-system.org/Download/index.html The new version resolves a problem in compatibility with GAP methods for Lie algebras and essentially improves performance for computation of the normalized unit group in abelian case. Sincerely yours, Alexander Konovalov From dn2447 at yahoo.com Sat Mar 4 21:19:04 2006 From: dn2447 at yahoo.com (D N) Date: Sat Mar 4 21:22:58 2006 Subject: [GAP Forum] Character group and semi-direct product Message-ID: <20060304211904.41058.qmail@web37406.mail.mud.yahoo.com> Hello All, Let G be a finite group and H be a finite left G-module. Let H^ := Hom(H, C*) denote the character group of H. Then, H^ is a right G-module: (\rho \dot g)(h) := \rho(g \dot h) for \rho \in H^, g \in G and h \in H. Let G' := H^ : G (semi-direct product of H^ and G). My question is: how to construct the group G' in GAP? Any help is greatly appreciated. Thanks, DN --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses! From anvita21 at usa.com Mon Mar 6 02:03:43 2006 From: anvita21 at usa.com (Anvita) Date: Mon Mar 6 02:05:17 2006 Subject: [GAP Forum] Re: Coefficients of constant polynomials Message-ID: <20060306020343.3221A21B32F@ws3-5.us4.outblaze.com> >> If the function "CoefficientsOfUnivariatePolynomial" is applied to the >> unit polynomial, the result is [ 1 ], as expected: >> ... >> For the zero polynomial, however, it returns an empty set: > >Yes. the zero polynomial is stored by an empty coefficient list, as >there are no nonzero coefficients. > If the zero polynomial is stored as an empty list then why does the function "UnivariatePolynomial" return an error with an empty list as the second argument? --------------------------------------------------------------------------------------- gap> p:=UnivariatePolynomial(Integers,[]); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `UnivariatePolynomial' on 2 arguments called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> --------------------------------------------------------------------------------------- Anvita -- ___________________________________________________ Play 100s of games for FREE! http://games.mail.com/ From hulpke at mac.com Mon Mar 6 02:33:14 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Mon Mar 6 02:36:27 2006 Subject: [GAP Forum] Re: Coefficients of constant polynomials In-Reply-To: <20060306020343.3221A21B32F@ws3-5.us4.outblaze.com> References: <20060306020343.3221A21B32F@ws3-5.us4.outblaze.com> Message-ID: <8DF3C528-F950-4FDE-9938-547FF57F411B@mac.com> Dear Gap Forum, Someone called `Anvita' wrote: > >>> If the function "CoefficientsOfUnivariatePolynomial" is applied >>> to the >>> unit polynomial, the result is [ 1 ], as expected: >>> ... >>> For the zero polynomial, however, it returns an empty set: >> >> Yes. the zero polynomial is stored by an empty coefficient list, as >> there are no nonzero coefficients. >> > > If the zero polynomial is stored as an empty list then why does the > function > "UnivariatePolynomial" return an error with an empty list as the > second > argument? That is an oversight. (The conditions on coefficients is to be a list of ring elements, the empty list does not qualify and needs to be treated specially.) Thank you for spotting this. It will be corrected in a future release. As a workaround you can issue the command: InstallOtherMethod( UnivariatePolynomial, "ring,empty cof",true, [ IsRing, IsEmpty ], 0, function( ring, cofs ) return LaurentPolynomialByCoefficients( ElementsFamily(FamilyObj (ring)),cofs, 0, 1 ); end ); Best wishes, Alexander Hulpke From ndroock1 at gmail.com Mon Mar 6 07:04:57 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Mar 6 07:07:39 2006 Subject: [GAP Forum] Re: GAP issue In-Reply-To: References: Message-ID: Thanks Ignat, This idea about IdGroup() was also in most of the other replies and yes, it helps. I suppose that if StructureDescription() was perfect we wouldn't be doing Group Theory in the first place. ;-) Kind regards, nilo 2006/3/5, ignat soroko : > Hello, Nilo, > > I read some of your questions in GAP forum and I'd like to suggest a solution. > > You like the function StructureDescription. This is a wonderful > function, but it gives only a rough idea what the group is. It does > not determine the group up to isomorphism. What determines the group > up to isomorphism, is IdGroup() function. Type IdGroup(G) and you will > get a pair [ord, nr]. That means that G is isomorphic to the group > number nr among all groups of order ord, that is to > SmallGroup(ord,nr);. > > Thus to determine a group up to isomorphism one should use IdGroup(). > And to get some idea what is the structure of the group, one can use > StructureDescription(). > > Hope this helps. > > Ignat > From dn2447 at yahoo.com Mon Mar 6 18:31:46 2006 From: dn2447 at yahoo.com (D N) Date: Mon Mar 6 18:35:58 2006 Subject: [GAP Forum] Character group and semi-direct product Message-ID: <20060306183146.86690.qmail@web37411.mail.mud.yahoo.com> Dear GAP Forum, Actually, I found (quite inefficient though) a way to do this. My apologies if the question and the follow-up is too trivial to post on this forum. Let H be any Abelian group. The irreducible characters of H can be obtained by typing "Display(Irr(CharacterTable(H)));" Form diagonal matrices with rows of the above output. The group generated by these diagonal matrices is of course isomorphic to the character group H^. Putting the required action on H^ and forming the semidirect product is quite straight-forward. Thanks, DN D N wrote: Hello All, Let G be a finite group and H be a finite left G-module. Let H^ := Hom(H, C*) denote the character group of H. Then, H^ is a right G-module: (\rho \dot g)(h) := \rho(g \dot h) for \rho \in H^, g \in G and h \in H. Let G' := H^ : G (semi-direct product of H^ and G). My question is: how to construct the group G' in GAP? Any help is greatly appreciated. Thanks, DN --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses! _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses! __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From dn2447 at yahoo.com Wed Mar 8 20:11:53 2006 From: dn2447 at yahoo.com (D N) Date: Wed Mar 8 20:12:43 2006 Subject: [GAP Forum] Having trouble with cohomolo package Message-ID: <20060308201153.4761.qmail@web37406.mail.mud.yahoo.com> Dear GAP Forum, I get the following message: gap> Read("cohomolo.tst"); Function: number of arguments must be 2 (not 5) at Cohomology( chr, true, false, false, TmpName( ) ); called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can replace the argument list via 'return ;' to continue brk> What is going on here? DN --------------------------------- Relax. Yahoo! Mail virus scanning helps detect nasty viruses! From l.h.soicher at qmul.ac.uk Thu Mar 9 14:26:13 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Thu Mar 9 14:26:49 2006 Subject: [GAP Forum] Groups and Computation 2006 - A Leedham-Green Fest Message-ID: <20060309142613.GA6441@mrcpc02.maths.qmul.ac.uk> Groups and Computation 2006 A Leedham-Green Fest We are pleased to announce a one-day conference to celebrate Charles Leedham-Green's contributions to mathematics on the occasion of his retirement. 10th July 2006, starting at 10.30 School of Mathematical Sciences Queen Mary, University of London The main speakers are: Bettina Eick, Eamonn O'Brien, and Aner Shalev (tbc) There is a registration fee of 10 pounds to cover refreshments and lunch. There will also be a celebratory dinner on the evening of July 10th at L'Oasis, costing 20 pounds. Places are limited, and are available on a first-come first-served basis. Should you wish to attend, please mail a cheque or postal order in GBP, payable to "Queen Mary, University of London", covering the registration fee and dinner (if applicable), to: Dr S. McKay Groups and Computation 2006 School of Mathematical Sciences Queen Mary, University of London Mile End Road London E1 4NS U.K. Please include your name and email address. We shall contact you by email with more information in due course, including menu choices for the dinner. If you have any queries, please email S.McKay@qmul.ac.uk Some accommodation will be available in the new Queen Mary student village. If you wish to stay for one or more nights, it is important to book as soon as possible. You can book online at www.qmulholidays.co.uk If you experience any problems with this, then phone +44(0)20-7882-3642. We look forward to seeing you at Queen Mary! Sue McKay, Leonard Soicher, Peter Cameron From aodabas at ogu.edu.tr Thu Mar 9 15:10:17 2006 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Thu Mar 9 15:09:48 2006 Subject: [GAP Forum] Automorphism of Algebra Message-ID: <004201c6438b$93383f90$be838cc1@ogu209> Hi all, I have a question for algebra , Let A and B algebras. Suppose that B acts on A, is there a algebra homomorphism B --> Aut(A) ?? has GAP any function Automorphism of commutative algebras?? gap> G:=Group((1,2,3,4));; gap> A:=GroupRing(GF(3),G);; gap> Automorphism(A); Variable: 'Automorphism' must have a value gap> AutomorphismAlgebra(A); Variable: 'AutomorphismAlgebra' must have a value gap> Automorphisms(A); Variable: 'Automorphisms' must have a value gap> Automorphism(A); Variable: 'Automorphism' must have a value gap> AutomorphismOfAlgebra(A); Variable: 'AutomorphismOfAlgebra' must have a value gap> AutomorphismRing(A); Variable: 'AutomorphismRing' must have a value gap> AutomorphismOfRing(A); Variable: 'AutomorphismOfRing' must have a value thanks. Alper From sal at dcs.st-and.ac.uk Fri Mar 10 10:07:19 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Fri Mar 10 10:07:33 2006 Subject: [GAP Forum] Cohomolo Message-ID: <20060310100719.6730df52@localhost.localdomain> "DN" wrote: I get the following message: gap> Read("cohomolo.tst"); Function: number of arguments must be 2 (not 5) at Cohomology( chr, true, false, false, TmpName( ) ); called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can replace the argument list via 'return ;' to continue brk> What is going on here? DN This problem is an incompatibility which we recently discovered between the recently deposited Hap package and the long-esablished cohomolo package, which define the global variable Cohomology differently. Unfortunately, Hap version 1.1 was set to load automatically when GAP starts, so anyone trying to use cohomolo would see this problem. Version 1.2 released a few days ago fixes this problem, so that Hap is only loaded if you load it explicitly. Thus, unless you need to use Hap and cohomolo in the same session, you can avoid the problem by updating to this new version. For the moment it is not possible to use both of these packages in the same GAP session. We will work with the authors to resolve this. Steve Linton A couple of remarks: firstly, specific problems of this kind are probably best sent to support@gap-system.org rather than to the forum. If we find issues of general interest arising in response to pronblems, we will inform the forum; secondly, although we don't insist,it would be nice to know the names of people we are dealing with, rather than initials or nicknames. -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From degraaf at science.unitn.it Fri Mar 10 14:51:37 2006 From: degraaf at science.unitn.it (Willem De Graaf) Date: Fri Mar 10 14:51:55 2006 Subject: [GAP Forum] Automorphism of Algebra In-Reply-To: <004201c6438b$93383f90$be838cc1@ogu209> References: <004201c6438b$93383f90$be838cc1@ogu209> Message-ID: <44119279.1050807@science.unitn.it> Dear Alper Odaba?, Currently GAP does not have much functionality for working with automorphisms of algebras. However, there are functions for constructing homomorphisms (which, as a special case, can be automorphisms). This is done by using the function "AlgebraHomomorphismByImages". The GAP manual contains a description of this function, it is available online: http://www.gap-system.org/Manuals/doc/htm/ref/CHAP060.htm#SECT009 (Note that in order to use it, one must specify set of source generators, and a set of image generators.) Best wishes, Willem de Graaf Alper Odaba? wrote: >Hi all, > >I have a question for algebra , >Let A and B algebras. Suppose that B acts on A, is there a algebra homomorphism B --> Aut(A) ?? > >has GAP any function Automorphism of commutative algebras?? > >gap> G:=Group((1,2,3,4));; >gap> A:=GroupRing(GF(3),G);; >gap> Automorphism(A); >Variable: 'Automorphism' must have a value > >gap> AutomorphismAlgebra(A); >Variable: 'AutomorphismAlgebra' must have a value > >gap> Automorphisms(A); >Variable: 'Automorphisms' must have a value > >gap> Automorphism(A); >Variable: 'Automorphism' must have a value > >gap> AutomorphismOfAlgebra(A); >Variable: 'AutomorphismOfAlgebra' must have a value > >gap> AutomorphismRing(A); >Variable: 'AutomorphismRing' must have a value > >gap> AutomorphismOfRing(A); >Variable: 'AutomorphismOfRing' must have a value > > >thanks. > >Alper > >_______________________________________________ >Forum mailing list >Forum@mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum > > > From dn2447 at yahoo.com Sun Mar 12 03:46:24 2006 From: dn2447 at yahoo.com (D N) Date: Sun Mar 12 03:46:37 2006 Subject: [GAP Forum] Action of a group on the Schur multiplier of a subgroup Message-ID: <20060312034624.1774.qmail@web37408.mail.mud.yahoo.com> Dear GAP Forum, Let H be a normal subgroup of a finite group G. The action of G on H, by conjugation, induces an action of G on the Schur multiplier H^2(H, C*) of H. Is there any way I can use GAP to find the number of orbits of H^2(H, C*) under the action of G? Thanks, Deepak Naidu --------------------------------- Yahoo! Mail Bring photos to life! New PhotoMail makes sharing a breeze. From Graham.Ellis at NUIGALWAY.IE Mon Mar 13 12:34:54 2006 From: Graham.Ellis at NUIGALWAY.IE (0002319s) Date: Mon Mar 13 12:39:18 2006 Subject: [GAP Forum] action on Schur multipliers Message-ID: <44155CA7@bodkin.nuigalway.ie> Dear GAP Forum, Deepak Naidu wrote: > Let H be a normal subgroup of a finite group G. The action of G on H, by conjugation, > induces an action of G on the Schur multiplier H^2(H, C*) of H. > Is there any way I can use GAP to find the number of orbits of H^2(H, C*) under the action of G? The following commands (which use the HAP package) show that the there are 4 orbits in the Schur multiplier of N:=AltenratingGroup(6) under the conjugation action of G:=SymmetricGroup(6). Note that the Schur multiplier of N is isomorphic to the Second integral homology of N, and that N acts trivial on its Schur multiplier/second homology (for any group N). So we are really interested in orbits under an action of the quotient group G/N. ############## CUT ###################### gap> G:=SymmetricGroup(6);; gap> N:=AlternatingGroup(6);; gap> R:=ResolutionFiniteGroup(N,3);; gap> SchurMultiplier:=Homology(TensorWithIntegers(R),2); [6] gap> #So the Schur multiplier of N is cyclic of order 6. gap> ConjugationHomomorphism:=function(g); > return GroupHomomorphismByFunction(N,N,x->g*x*g^-1); end;; gap> HomologyMapInducedByConjugation:=function(g) > local f; > f:=EquivariantChainMap(R,R,ConjugationHomomorphism(g)); > f:=TensorWithIntegers(f); > f:=Homology(f,2); > return f; > end;; gap> #Note that (1,2) represents a nontrivial element in G/N. gap> HM:=HomologyMapInducedByConjugation((1,2)); [ f1, f2, f3, f4, f5, f6 ] -> [ f1^4*f2^-3, f1^2*f2^-1, f3, f3^-2*f4^2*f5, f3^-2*f4^2*f5, f6 ] gap> IsomorphismPermGroup(Source(HM)); [ f1, f2, f3, f4, f5, f6 ] -> [ (), (1,2,3)(4,5,6), (1,4)(2,5)(3,6), (), (), ((1,4)((2,5)(3,6) ] ##################### CUT ################## Here Source(HM) is a finitely presented group isomorphic to the cyclic group H_2(N) of order 6.We see that conjugation by (1,2) in G induces an endomorphism on H_2(N)=C_2 x C_3 which fixes the generator f3 of order two, and inverts the generator f2 of order three. Graham From aodabas at ogu.edu.tr Wed Mar 15 14:01:01 2006 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Wed Mar 15 14:00:27 2006 Subject: [GAP Forum] bug with group homomorphism Message-ID: <001201c64838$e463c4f0$af838cc1@ogu209> hi, i think i found a bug with the group homomorphisms. AB is not a group in spite of f: AB --> B is a group homomorphism. Alper gap> A:=Group((1,2,3,4)); Group([ (1,2,3,4) ]) gap> elA:=Elements(A); [ (), (1,2,3,4), (1,3)(2,4), (1,4,3,2) ] gap> B:=Subgroup(A,[elA[3]]); Group([ (1,3)(2,4) ]) gap> A=B; false gap> IsSubgroup(A,B); true gap> AB:=Cartesian(A,B); [ [ (), () ], [ (), (1,3)(2,4) ], [ (1,2,3,4), () ], [ (1,2,3,4), (1,3)(2,4) ], [ (1,3)(2,4), () ], [ (1,3)(2,4), (1,3)(2,4) ], [ (1,4,3,2), () ], [ (1,4,3,2), (1,3)(2,4) ] ] gap> f:=GroupHomomorphismByFunction(AB,B,x->x^2); MappingByFunction( [ [ (), () ], [ (), (1,3)(2,4) ], [ (1,2,3,4), () ], [ (1,2,3,4), (1,3)(2,4) ], [ (1,3)(2,4), () ], [ (1,3)(2,4), (1,3)(2,4) ], [ (1,4,3,2), () ], [ (1,4,3,2), (1,3)(2,4) ] ], Group( [ (1,3)(2,4) ]), function( x ) ... end ) gap> IsGroupHomomorphism(f); true gap> IsGroup(AB); false gap> Image(f); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `GeneratorsOfMagmaWithInverses' on 1 arg\ uments called from GeneratorsOfGroup( PreImagesRange( map ) ) called from MappingGeneratorsImages( hom ) called from ImagesSource( arg[1] ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> From bob.heffernan at gmail.com Wed Mar 15 17:26:45 2006 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Wed Mar 15 17:26:56 2006 Subject: [GAP Forum] finding automorphisms of finitely presented groups Message-ID: <6d9a83e90603150926q23165364pe112f83eee0c8701@mail.gmail.com> I am dealing with groups constructed in this manner: F:=FreeGroup("x","y","z");G:=F/rels; where rels is some list of relations in terms of x,y and z. If the group is large GAP seems to have trouble constructing the groupof automorphisms of G. I understand that doing this:G:=Image(IsomorphismPermGroup(G));would give me a representation of the group that GAP can deal witheasily (and easily compute Aut G, etc.), but I want to look at theautomorphisms in terms of the generators x,y and z above. Specifially, I am trying to find all the automorphisms G->G of a given order. Is there an efficient way to do this? thank you, Bob From hulpke at math.colostate.edu Wed Mar 15 18:16:43 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed Mar 15 18:17:20 2006 Subject: [GAP Forum] finding automorphisms of finitely presented groups In-Reply-To: <6d9a83e90603150926q23165364pe112f83eee0c8701@mail.gmail.com> References: <6d9a83e90603150926q23165364pe112f83eee0c8701@mail.gmail.com> Message-ID: <5D7AA287-DF9E-4C67-A87F-1E34E22032C6@math.colostate.edu> Dear Robert Heffernan, > I am dealing with groups constructed in this manner: > F:=FreeGroup("x","y","z");G:=F/rels; > where rels is some list of relations in terms of x,y and z. > If the group is large GAP seems to have trouble constructing the > groupof automorphisms of G. > I understand that doing this:G:=Image(IsomorphismPermGroup > (G));would give me a representation of the group that GAP can deal > witheasily (and easily compute Aut G, etc.), but I want to look at > theautomorphisms in terms of the generators x,y and z above. That is not a contradiction. Compute the automorphism group for the permutation representation and then pull the generators back to the finitely presented group. Concretely, if phi:=IsomorphismPermGroup(G); P:=Image(phi); A:=AutomorphismGroup(P); you can do List(GeneratorsOfGroup(A),a->GroupHomomorphismByImagesNC (G,G,GeneratorsOfGroup(G), List(GeneratorsOfGroup(G),x->PreImagesRepresentative(phi,Image (a,Image(phi,x))))); to get generators of the automorphism group in terms of x,y and z. Best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From bob.heffernan at gmail.com Thu Mar 16 12:58:23 2006 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Thu Mar 16 12:58:32 2006 Subject: [GAP Forum] finding automorphisms of finitely presented groups In-Reply-To: <5D7AA287-DF9E-4C67-A87F-1E34E22032C6@math.colostate.edu> References: <6d9a83e90603150926q23165364pe112f83eee0c8701@mail.gmail.com> <5D7AA287-DF9E-4C67-A87F-1E34E22032C6@math.colostate.edu> Message-ID: <6d9a83e90603160458o2cff5f49h1c3ee6f0748d4b0f@mail.gmail.com> Thank you for your help Alexander. I do have a followup question, if anybody can help. I have created a finitely presented group G F:=FreeGroup("a","b","c","d");;a:=F.1;;b:=F.2;;c:=F.3;;d:=F.4;;rels:= G:=F/rels;a:=G.1;;b:=G.2;;c:=G.3;;d:=G.4;; I have then created a new set of words/relations, rels2 say, in termsof a,b,c and d (by calculating with things in G). Now I want to create a new finitely presented group in a manner such as this:H:=F/rels2; However, I can't do this directly as a,b,c and d are now elements of G, not F. I can't find a simple way to relate a,b,c and d back to the generatorsof the free group F, even though I'm sure such a thing must exist. Any help would be wonderful. thank you,Bob From hulpke at mac.com Thu Mar 16 17:03:14 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Thu Mar 16 17:04:07 2006 Subject: [GAP Forum] finding automorphisms of finitely presented groups In-Reply-To: <6d9a83e90603160458o2cff5f49h1c3ee6f0748d4b0f@mail.gmail.com> References: <6d9a83e90603150926q23165364pe112f83eee0c8701@mail.gmail.com> <5D7AA287-DF9E-4C67-A87F-1E34E22032C6@math.colostate.edu> <6d9a83e90603160458o2cff5f49h1c3ee6f0748d4b0f@mail.gmail.com> Message-ID: <9780E964-2DC5-433C-A6FF-CDEFB03FD94D@mac.com> Dear GAP-Forum, On Mar 16, 2006, at 5:58 AM, Robert Heffernan wrote: > I do have a followup question, if anybody can help. > I have created a finitely presented group G > F:=FreeGroup("a","b","c","d");;a:=F.1;;b:=F.2;;c:=F.3;;d:=F. > 4;;rels:= G:=F/rels;a:=G. > 1;;b:=G.2;;c:=G.3;;d:=G.4;; > I have then created a new set of words/relations, rels2 say, in > termsof a,b,c and d (by calculating with things in G). > Now I want to create a new finitely presented group in a manner > such as this:H:=F/rels2; > However, I can't do this directly as a,b,c and d are now elements > of G, not F. > I can't find a simple way to relate a,b,c and d back to the > generatorsof the free group F, You have three options. In order from ``cleanest'' to ``most technical'': a) From a `GroupHomomorphismByImages' from F to G, mapping F.i to G.i. Then take the `PreImagesRepresentative' of your words. b) Use `MappedWord' to map a word in the G.i to a word in the F.i c) For any element of G, `UnderlyingElement' returns the corresponding element of F, i.e. the relators you want. Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From laurent.bartholdi at gmail.com Fri Mar 17 20:40:45 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Fri Mar 17 20:40:57 2006 Subject: [GAP Forum] restricted lie algebras Message-ID: <1ff637850603171240x3e471dd8h5dcf06ee82591bea@mail.gmail.com> dear forum, i see in gap the command "FreeLieAlgebra", but no command "FreeRestrictedLieAlgebra". Has anybody implemented this? is it difficult? I would very much like, then, to have "NilpotentQuotientRestrictedFpLieAlgebra"; though this may pose a problem in the current implementation because the p-mapping is always given as a function, and not as an intrinsic operation. any ideas? thanks in advance, laurent -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From laurent.bartholdi at gmail.com Fri Mar 17 22:37:21 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Fri Mar 17 22:37:29 2006 Subject: [GAP Forum] three remarks Message-ID: <1ff637850603171437t3b0b5578x515ca352e591f5bd@mail.gmail.com> hi again, gap world, 1) it would be very nice, i think, if LowerCentralSeries() accepted a second argument, which is the length of the series to be computed. There are sometimes groups for which the whole computation is very long, but only the first few terms are needed. 2) It would also be nice (in terms of shortening code) that if L is a list, then L[infinity] returns the last element. I tried InstallOtherMethod(\[\],[IsList,IsInfinity],100,function(l,i)return l[Length(l)];end); but it doesn't seem to work. 3) AlgebraHomomorphismByImages is very slow, and I don't see why. I have finite-dimensional algebras, and it seems, to me, that to check whether a mapping (on generators) is a homomorphism amounts to finding a basis, and checking the homomorphism on the basis. Therefore I would use f := AlgebraHomomorphismByImagesNC(source,range,gens,images); CheckIsAlgebraHomorphism(f); using the code CheckIsAlgebraHomomorphism := function(f) local S,R,V,i,added; S := Source(f); R := Range(f); B := ShallowCopy(MappingGeneratorsImages(f)[1]); C := ShallowCopy(MappingGeneratorsImages(f)[2]); V := VectorSpace(LeftActingDomain(S),B); while V <> S do added := false; for i in Tuples([1..Length(B)],2) do if not B[i[1]]*B[i[2]] in V then Add(B,B[i[1]]*B[i[2]]); Add(C,C[i[1]]*C[i[2]]); V := VectorSpace(LeftActingDomain(S),B); added := true; fi; od; if not added then return fail; fi; # does not generate od; B := Basis(S,B); return ForAll(Tuples([1..Length(B)],2), i->LinearCombination(C,Coefficients(B,B[i[1]]*B[i[2]]))=C[i[1]]*C[i[2]]); end; -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From marta31 at gmail.com Sat Mar 18 05:33:48 2006 From: marta31 at gmail.com (marta asaeda) Date: Sat Mar 18 05:33:58 2006 Subject: [GAP Forum] 1/sqrt(polynomial) not recognized Message-ID: <4dd3929a0603172133m1a8b90dme33e215ce9c13d74@mail.gmail.com> Hello, I am having a problem: I would like to find galois group for each polynomial in a sequence of polynomials parametrized by n. It is given by a recursive formula, so it does involve non-polynomials for expression in terms of n. I have this ( I'm mixing mathematica and gap notations just for this message): A[x]:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - Sqrt(x^2 - 4*x))/2)) B[x]:=(-1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x + Sqrt(x^2 - 4*x))/2)) a := (2 - x + Sqrt[x^2 - 4x])/2 b := (2 - x - Sqrt[x^2 - 4x])/2 P[n_, x_] := A[x]a^(n - 1) + B[x]b^(n - 1) R[k_, x_] := (-2+x)^2(3-5x+x^2) P[2(k - 1), x] - (8-14x+7x^2-x^3) P[2(k - 1) - 1, x] R[k,x] is a polynomial for any positive integer k. I would like to give the list of galois groups for each k, say, 5 x:=Indeterminate(Rationals); gap> Ax:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - Sqrt(x^2 - 4*x))/2)); then I get error message like Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `Sqrt' on 1 arguments called from Error( no_method_found ); called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue Could anyone please tell me what I should do ? Thank you ~ marta From dima at ntu.edu.sg Sat Mar 18 07:09:35 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Sat Mar 18 07:11:24 2006 Subject: [GAP Forum] 1/sqrt(polynomial) not recognized In-Reply-To: <4dd3929a0603172133m1a8b90dme33e215ce9c13d74@mail.gmail.com> Message-ID: GAP cannot deal with non-rational expressions involving indeterminants. Realistically, you most probably would not be able to go much further than k=15, say. So you can just use another CAS to write these polynomials out explicitly and feed them into GAP. HTH, Dmitrii On 3/18/06 1:33 PM, "marta asaeda" wrote: > Hello, > > I am having a problem: I would like to find galois group for each > polynomial in a sequence of polynomials parametrized by n. It is given > by a recursive formula, so it does involve non-polynomials for > expression in terms of n. I have this ( I'm mixing mathematica and > gap notations just for this message): > > A[x]:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - Sqrt(x^2 > - 4*x))/2)) > B[x]:=(-1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x + Sqrt(x^2 > - 4*x))/2)) > > a := (2 - x + Sqrt[x^2 - 4x])/2 > b := (2 - x - Sqrt[x^2 - 4x])/2 > > P[n_, x_] := A[x]a^(n - 1) + B[x]b^(n - 1) > > R[k_, x_] := > (-2+x)^2(3-5x+x^2) P[2(k - 1), x] - (8-14x+7x^2-x^3) P[2(k - 1) - 1, x] > > R[k,x] is a polynomial for any positive integer k. I would like to > give the list of galois groups for each k, say, 5 as much as it is doable by gap in a few days. If I just set it at > night, go to bed, and see 1000 of galois groups spitted out, that will > be wonderful. However, it seems gap is having problem dealing with > 1/Sqrt(x^2 - 4*x). I just tried to teach A, B, a, b one by one, so I > did like > > gap> x:=Indeterminate(Rationals); > gap> Ax:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - > Sqrt(x^2 - 4*x))/2)); > > then I get error message like > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > Error( no_method_found ); called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > > Could anyone please tell me what I should do ? > > Thank you ~ > > marta > From laurent.bartholdi at gmail.com Sat Mar 18 10:13:43 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Sat Mar 18 10:13:49 2006 Subject: [GAP Forum] 1/sqrt(polynomial) not recognized In-Reply-To: <4dd3929a0603172133m1a8b90dme33e215ce9c13d74@mail.gmail.com> References: <4dd3929a0603172133m1a8b90dme33e215ce9c13d74@mail.gmail.com> Message-ID: <1ff637850603180213l6af55c5fkfd88bc834b8289c9@mail.gmail.com> Hi Marta, 1) most systems, like Maple, can compute Galois groups, in some standard format (a set of generating permutations, e.g.) 2) like Dima wrote, it's hopeless to compute for degree above a hundred; and usually the limit is much lower 3) the expressions you gave don't produce irreducible polynomials. most computer command require an irreducible polynomial. Here's my sample code, in Maple: A:=(1/sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - sqrt(x^2-4*x))/2)): B:=(-1/sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x + sqrt(x^2-4*x))/2)): a := (2 - x + sqrt(x^2 - 4*x))/2: b := (2 - x - sqrt(x^2 - 4*x))/2: P := n->A*a^(n-1)+B*b^(n-1): R := k->(-2+x)^2*(3-5*x+x^2)*P(2*k-2)-(8-14*x+7*x^2-x^3)*P(2*k-3): L := 'factor(convert(series(R(n),x,2*n+3),polynom))'$n=0..5; 2 2 2 3 2 2 (-2 + x) , (3 - 5 x + x ) (-2 + x) , (x - 1) (x - 8 x + 17 x - 5) (-2 + x) , 6 5 4 3 2 2 (x - 13 x + 63 x - 140 x + 142 x - 59 x + 7) (-2 + x) , 8 7 6 5 4 3 2 2 (x - 17 x + 117 x - 418 x + 827 x - 898 x + 502 x - 124 x + 9) (-2 + x) , 9 8 7 6 5 4 3 2 2 (x - 1) (x - 20 x + 167 x - 753 x + 1979 x - 3050 x + 2635 x - 1153 x + 214 x - 11) (-2 + x) so i assume you're interested in the "big" factor: galois(L[2]/(x-2)^2); "2T1", {"S(2)"}, "-", 2, {"(1 2)"} galois(L[3]/(x-2)^2/(x-1)); "3T1", {"A(3)"}, "+", 3, {"(1 2 3)"} galois(L[4]/(x-2)^2); "6T16", {"S(6)"}, "-", 720, {"(3 6)", "(1 6)", "(2 6)", "(4 6)", "(5 6)"} galois(L[5]/(x-2)^2); "8T50", {"S(8)"}, "-", 40320, {"(4 8)", "(1 8)", "(7 8)", "(2 8)", "(5 8)", "(6 8)", "(3 8)"} galois(L[6]/(x-2)^2/(x-1)); "9T34", {"S(9)"}, "-", 362880, {"(8 9)", "(5 9)", "(6 9)", "(7 9)", "(3 9)", "(4 9)", "(1 9)", "(2 9)"} this is the limit of Maple's implementation. Best, Laurent On 3/18/06, marta asaeda wrote: > Hello, > > I am having a problem: I would like to find galois group for each > polynomial in a sequence of polynomials parametrized by n. It is given > by a recursive formula, so it does involve non-polynomials for > expression in terms of n. I have this ( I'm mixing mathematica and > gap notations just for this message): > > A[x]:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - Sqrt(x^2 > - 4*x))/2)) > B[x]:=(-1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x + Sqrt(x^2 > - 4*x))/2)) > > a := (2 - x + Sqrt[x^2 - 4x])/2 > b := (2 - x - Sqrt[x^2 - 4x])/2 > > P[n_, x_] := A[x]a^(n - 1) + B[x]b^(n - 1) > > R[k_, x_] := > (-2+x)^2(3-5x+x^2) P[2(k - 1), x] - (8-14x+7x^2-x^3) P[2(k - 1) - 1, x] > > R[k,x] is a polynomial for any positive integer k. I would like to > give the list of galois groups for each k, say, 5 as much as it is doable by gap in a few days. If I just set it at > night, go to bed, and see 1000 of galois groups spitted out, that will > be wonderful. However, it seems gap is having problem dealing with > 1/Sqrt(x^2 - 4*x). I just tried to teach A, B, a, b one by one, so I > did like > > gap> x:=Indeterminate(Rationals); > gap> Ax:=(1/Sqrt(x^2 - 4*x))*(x^2 - 4*x + 3 - (2 - x)*((2 - x - > Sqrt(x^2 - 4*x))/2)); > > then I get error message like > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `Sqrt' on 1 arguments called from > Error( no_method_found ); called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > > Could anyone please tell me what I should do ? > > Thank you ~ > > marta > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From marta31 at gmail.com Sun Mar 19 00:47:08 2006 From: marta31 at gmail.com (marta asaeda) Date: Sun Mar 19 00:47:17 2006 Subject: [GAP Forum] 1/sqrt(polynomial) not recognized In-Reply-To: <1ff637850603180213l6af55c5fkfd88bc834b8289c9@mail.gmail.com> References: <4dd3929a0603172133m1a8b90dme33e215ce9c13d74@mail.gmail.com> <1ff637850603180213l6af55c5fkfd88bc834b8289c9@mail.gmail.com> Message-ID: <4dd3929a0603181647r465a2081pd553f59620b06c8a@mail.gmail.com> Hi Laurent, Dima, Ju'rgen, Thank you very much for all the suggestions. I needed the minimal polynomial of the largest eigen value. I will try as you suggest, whatever I have an access and can handle with my very limited experience in math softwares;; Best marta From degraaf at science.unitn.it Mon Mar 20 08:35:05 2006 From: degraaf at science.unitn.it (Willem De Graaf) Date: Mon Mar 20 08:35:22 2006 Subject: [GAP Forum] restricted lie algebras In-Reply-To: <1ff637850603171240x3e471dd8h5dcf06ee82591bea@mail.gmail.com> References: <1ff637850603171240x3e471dd8h5dcf06ee82591bea@mail.gmail.com> Message-ID: <441E6939.2010304@science.unitn.it> Dear Laurent, >dear forum, >i see in gap the command "FreeLieAlgebra", but no command >"FreeRestrictedLieAlgebra". Has anybody implemented this? is it >difficult? > > >I would very much like, then, to have >"NilpotentQuotientRestrictedFpLieAlgebra"; though this may pose >a problem in the current implementation because the p-mapping >is always given as a function, and not as an intrinsic operation. >any ideas? > > As far as I know this problem has not been considered before (but I might be wrong of course). It would involve adding a basis element b^p for every basis element of the free Lie algebra (and then (b^p)^p and so on). At the moment I don't see any theoretical restrictions for making a function "NilpotentQuotientRestrictedFpLieAlgebra". (But I might be wrong there too.) In any case, the way the p-mapping is represented should not make a difference, I think. Best wishes, Willem From Rudolf.Zlabinger at chello.at Thu Mar 23 17:55:15 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Mar 23 17:49:02 2006 Subject: [GAP Forum] Fw: Tabulatoren in Editoren Message-ID: <00b901c64ea2$f0aee4e0$eec57254@chello.at> ----- Original Message ----- From: Rudolf Zlabinger To: Forum@mail.gap-system.org Sent: Thursday, March 23, 2006 3:43 PM Subject: Tabulatoren in Editoren Falls nicht ohnehin bekannt: Read und ReadTest ignorieren Tabulatoren in Editoren wie zB. im Windows Text Editor. In case of that is unknown: Read and ReadTest ignore tabulator tags in editors such as for example Windows Test Editor. regards, Rudolf Zlabinger From sal at dcs.st-and.ac.uk Fri Mar 24 09:03:29 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Fri Mar 24 09:06:15 2006 Subject: [GAP Forum] New update of GAP released Message-ID: <20060324090329.6eb6943a@localhost.localdomain> Dear GAP Forum, We are delighted to announce the release of GAP 4 release 4 update 7 (GAP 4.4.7 for short), which is available now from the GAP Web pages and FTP site. The priority of this upgrade is very high, since it contains fixes for bugs which can return wrong results without warnings. All users should update to this release as soon as possible. The upgrade also fixes many less dangerous bugs and adds new functionality including improvements to the display of character tables, support for larger finite fields, improved semigroup functionality, better support for free products and more. Full details can be found on the web pages at http://www.gap-system.org/Download/Updates/gap4r4p7.html. Steve Linton for the GAP group -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From joachim.s at web.de Fri Mar 24 14:18:43 2006 From: joachim.s at web.de (Joachim Schittenhelm) Date: Fri Mar 24 14:19:06 2006 Subject: [GAP Forum] large finite fields Message-ID: <4423FFC3.5060603@web.de> Hi Members, I am quite new to GAP and have to work with GaloisFields with a large number of elements. Unfortunately the field is limited to approximately 65k elements (~2^16). By searching i discovered a 12 year old article that states the same problem. Is this somehow solved in any extra package, or is it still unpossible to use/create greater fields? Regards Joachim Schittenhelm From raghu_juliet at rediffmail.com Sat Mar 25 17:35:48 2006 From: raghu_juliet at rediffmail.com (Raghunathan,R.) Date: Sat Mar 25 17:36:35 2006 Subject: [GAP Forum] product groups Message-ID: <20060325173548.22929.qmail@webmail6.rediffmail.com> Dear GAP forum, Thank you for the previous responses. I have two questions. Question 1: Considering two groups 's' and 't' such that s = ((),(3,4)) and t = ((1,3)(2,4)(5,6)), the sequential GAP commands s:=Group((3,4));; t:=Group((1,3)(2,4)(5,6))l;; u:=DirectProduct(s,t); returns Group([(1,2),(3,5)(4,6)(7,8)]) as the answer. The command Elements(u); returns ((),(3,5)(4,6)(7,8),(1,2),(1,2)(3,5)(4,6)(7,8)) as the answer which doesn't contain, the generators of both the groups 's' and 't' as elements. Is there an interpretation for the result? Question 2: If there exist two groups 'p' and 'q' such that p=(generator1) and q=(generator2), are the groups r =(generator1,generator2) and s = {p} U {p}*{q} always equal? Thank you, Raghunathan. ? From wdjoyner at comcast.net Sat Mar 25 21:44:51 2006 From: wdjoyner at comcast.net (David Joyner) Date: Sat Mar 25 21:41:47 2006 Subject: [GAP Forum] GAP permutation question Message-ID: <4425B9D3.6040302@comcast.net> Hello all: Let L1, L2 be lists of objects (lists of vectors or lists of strings). Is there a GAP function which returns a permutation which send L1 to L2, if one exists, and "false" otherwise? In case L1 = L2 = columns of a matrix M then the function could be paired with the MatrixAutomorphism group of M to return an "isomorphism" between two matrices. - David Joyner From dima at ntu.edu.sg Sun Mar 26 04:31:28 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Sun Mar 26 04:32:07 2006 Subject: [GAP Forum] GAP permutation question In-Reply-To: <4425B9D3.6040302@comcast.net> Message-ID: Dear all, dear David, When L1, L2 are 0-1 matrices, one can use the package GRAPE to construct (bipartite) graphs from them, and test them for isomorphism (such a test, if successful, returns an isomorphism, too) As GRAPE does not work with edge-coloured graphs, for more general matrices this won't work, at least not out of the box. One can think of constructing edge-coloured bipartite graphs, then their vertex-coloured line graphs, and test the latter for the isomorphism. (GRAPE can deal with vertex colourings). One can probably use the general GAP backtracking on permutation groups, but I doubt that this will be feasible for big matrices... regards, Dima On 3/26/06 5:44 AM, "David Joyner" wrote: > Hello all: > > Let L1, L2 be lists of objects (lists of vectors or lists of strings). > Is there a GAP function which returns a permutation which > send L1 to L2, if one exists, and "false" otherwise? > > In case L1 = L2 = columns of a matrix M then the > function could be paired with the MatrixAutomorphism group of > M to return an "isomorphism" between two matrices. > > - David Joyner > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From wdjoyner at comcast.net Sun Mar 26 04:36:55 2006 From: wdjoyner at comcast.net (David Joyner) Date: Sun Mar 26 04:33:33 2006 Subject: [GAP Forum] GAP permutation question In-Reply-To: <4425B9D3.6040302@comcast.net> References: <4425B9D3.6040302@comcast.net> Message-ID: <44260C57.1020904@comcast.net> This is simpler than I thought. Here is an answer to my own question: ListIsomorphism:=function(L1,L2) local i,x,p,L,n1,n2; L:=[]; n1:=Length(L1); n2:=Length(L2); if n1<>n2 then return fail; fi; if n1<>Length(Set(L1)) then Print("Contains duplicates.\n"); return fail; fi; if n2<>Length(Set(L2)) then Print("Contains duplicates.\n"); return fail; fi; for x in L1 do i:=Position(L2,x); if i=fail then return fail; fi; Append(L,[i]); od; return PermList(L); end; gap> L1:=[1,2,"a",[1,1]]; L2:=[[1,1],"a",2,1]; [ 1, 2, "a", [ 1, 1 ] ] [ [ 1, 1 ], "a", 2, 1 ] gap> ListIsomorphism(L1,L2); (1,4)(2,3) +++++++++++++++++++++++++ David Joyner wrote: > Hello all: > > Let L1, L2 be lists of objects (lists of vectors or lists of strings). > Is there a GAP function which returns a permutation which > send L1 to L2, if one exists, and "false" otherwise? > > In case L1 = L2 = columns of a matrix M then the > function could be paired with the MatrixAutomorphism group of > M to return an "isomorphism" between two matrices. > > - David Joyner > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Dima at ntu.edu.sg Sun Mar 26 06:09:33 2006 From: Dima at ntu.edu.sg (Dmitrii V Pasechnik (Asst Prof)) Date: Sun Mar 26 06:10:00 2006 Subject: [GAP Forum] GAP permutation question Message-ID: <48BABA4E8A54DF4AAF9CCF36D614027302214D3A@EXCHANGE23.staff.main.ntu.edu.sg> Sorry, I thought that a permutation on the coordinates of the vectors that makes L1=L2 equal as sets was sought. Otherwise it is indeed next to trivial. Regards, Dima -----Original Message----- From: forum-bounces@gap-system.org [mailto:forum-bounces@gap-system.org] On Behalf Of Dima Pasechnik Sent: Sunday, March 26, 2006 11:31 AM To: David Joyner; GAP forum Subject: Re: [GAP Forum] GAP permutation question Dear all, dear David, When L1, L2 are 0-1 matrices, one can use the package GRAPE to construct (bipartite) graphs from them, and test them for isomorphism (such a test, if successful, returns an isomorphism, too) As GRAPE does not work with edge-coloured graphs, for more general matrices this won't work, at least not out of the box. One can think of constructing edge-coloured bipartite graphs, then their vertex-coloured line graphs, and test the latter for the isomorphism. (GRAPE can deal with vertex colourings). One can probably use the general GAP backtracking on permutation groups, but I doubt that this will be feasible for big matrices... regards, Dima On 3/26/06 5:44 AM, "David Joyner" wrote: > Hello all: > > Let L1, L2 be lists of objects (lists of vectors or lists of strings). > Is there a GAP function which returns a permutation which send L1 to > L2, if one exists, and "false" otherwise? > > In case L1 = L2 = columns of a matrix M then the function could be > paired with the MatrixAutomorphism group of M to return an > "isomorphism" between two matrices. > > - David Joyner > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From helge.ruddat at math.uni-freiburg.de Fri Mar 24 16:23:10 2006 From: helge.ruddat at math.uni-freiburg.de (Helge Ruddat) Date: Mon Mar 27 10:40:18 2006 Subject: [GAP Forum] AppendTo problem with large strings Message-ID: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> Dear GAP supporters! I am trying to write a large matrix into a text file in such a way that scilab is able to read it as input. For this I need to write long strings (about 600 characters) into the file and I am doing this via AppendTo( filename, string ). I realized that this function inserts backslashes and newlines to cut my strings into smaller pieces, although I do not intend this. It also is not documented in the "AppendTo - function - documentation". Funny is, that the length of the dissected pieces correllates with the width of my gap terminal window. When I tried to increase the width of my gap window significantly, gap quit with a memory access error. Can someone help me? I have version 4.4.6. Thanks in advance, Helge Ruddat -- Helge Ruddat / Tivolistra?e 16 / 79104 Freiburg i.Br. Tel.: +49 761 2925203 Uni.: +49 761 2035620 mobil: +49 176 20155350 Heimzone: +49 761 1528137 From maasiru at yahoo.com Mon Mar 27 11:58:22 2006 From: maasiru at yahoo.com (muniru asiru) Date: Mon Mar 27 11:58:35 2006 Subject: [GAP Forum] GAP permutation question Message-ID: <20060327105822.52447.qmail@web53314.mail.yahoo.com> Form, David, I think you should use Loops package for Gap which contains a function by which two loops (and groups) can be tested for isomorphism. For example: Given L1 and L2 you can test IsIsomorphism(LoopByCayleyTable(L1),LoopByCayleyTable(L2)); sincerely, Muniru __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From holmespe at for.mat.bham.ac.uk Mon Mar 27 15:09:08 2006 From: holmespe at for.mat.bham.ac.uk (Petra Holmes) Date: Mon Mar 27 15:09:39 2006 Subject: [GAP Forum] AppendTo problem with large strings In-Reply-To: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> Message-ID: Helge, I'm not sure if there's a proper way of doing it, but this way works for me. If you print the string out one character at a time then it doesn't insert newlines, like this: for s in string do AppendTo(file,s); od; This gives an output file that is what you want except that it's full of the character ' but you can get rid of those at the command line using sed. The command is sed "s/'//g" file > newfile using a bash shell, and I suppose it's almost the same in other shells. Hope this helps, Beth On Fri, 24 Mar 2006, Helge Ruddat wrote: > Dear GAP supporters! > > I am trying to write a large matrix into a text file in such a way > that scilab is able to read it as input. For this I need to write > long strings (about 600 characters) into the file and I am doing this > via AppendTo( filename, string ). > I realized that this function inserts backslashes and newlines to cut my > strings into smaller pieces, although I do not intend this. It also is not > documented in the "AppendTo - function - documentation". > Funny is, that the length of the dissected pieces correllates with > the width of my gap terminal window. When I tried to increase > the width of my gap window significantly, gap quit with a > memory access error. > Can someone help me? > > I have version 4.4.6. > > Thanks in advance, > Helge Ruddat > > -- > Helge Ruddat / Tivolistraße 16 / 79104 Freiburg i.Br. > Tel.: +49 761 2925203 Uni.: +49 761 2035620 > mobil: +49 176 20155350 Heimzone: +49 761 1528137 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From pjd at maths.gla.ac.uk Mon Mar 27 16:48:33 2006 From: pjd at maths.gla.ac.uk (pjd@maths.gla.ac.uk) Date: Mon Mar 27 16:48:36 2006 Subject: [GAP Forum] Cyclically Reduced Words Message-ID: <1143474513.4428095158316@mail.maths.gla.ac.uk> Dear GAP Forum, Given the alphabet {a,a^-1,b,b^-1}, how can I get GAP to produce a list of cyclically reduced words of length at most 3, 4, etc? Thanks Peter ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From l.h.soicher at qmul.ac.uk Mon Mar 27 20:30:51 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Mon Mar 27 20:31:23 2006 Subject: [GAP Forum] AppendTo problem with large strings In-Reply-To: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> References: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> Message-ID: <20060327193051.GA16460@mrcpc02.maths.qmul.ac.uk> Dear Helge Ruddat, Dear GAP-Forum, In GRAPE 4.2 I use text-file streams to communicate with external programs, with print formatting switched off (via the GAP function SetPrintFormattingStatus ). For an example of this, look at the function AutGroupGraph in pkg/grape/lib/grape.g Best wishes, Leonard On Fri, Mar 24, 2006 at 04:23:10PM +0000, Helge Ruddat wrote: > Dear GAP supporters! > > I am trying to write a large matrix into a text file in such a way > that scilab is able to read it as input. For this I need to write > long strings (about 600 characters) into the file and I am doing this > via AppendTo( filename, string ). > I realized that this function inserts backslashes and newlines to cut my > strings into smaller pieces, although I do not intend this. It also is not > documented in the "AppendTo - function - documentation". > Funny is, that the length of the dissected pieces correllates with > the width of my gap terminal window. When I tried to increase > the width of my gap window significantly, gap quit with a > memory access error. > Can someone help me? > > I have version 4.4.6. > > Thanks in advance, > Helge Ruddat > > -- > Helge Ruddat / Tivolistra?e 16 / 79104 Freiburg i.Br. > Tel.: +49 761 2925203 Uni.: +49 761 2035620 > mobil: +49 176 20155350 Heimzone: +49 761 1528137 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From alexk at mcs.st-and.ac.uk Tue Mar 28 09:15:15 2006 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Tue Mar 28 09:15:54 2006 Subject: [GAP Forum] AppendTo problem with large strings In-Reply-To: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> References: <200603241623.11427.helge.ruddat@math.uni-freiburg.de> Message-ID: <69EED167-AEF3-4353-B856-87C44C2DEA01@mcs.st-and.ac.uk> Dear Helge Ruddat, You can use the 'SetPrintFormattingStatus' operation, which sets whether the output will be formatted with line breaks and indentation, or not. There is also an operation 'PrintFormattingStatus' that can be used to get information about the current setup for this option. Please see their description and examples in the GAP Manual in your GAP installation or online at the page http://www.gap-system.org/Manuals/doc/htm/ref/CHAP010.htm#SSEC004.8 Also, for writing huge amounts of data efficiently with GAP the utility functions 'PrintTo1', 'AppendTo1' and 'FileString' from the GAPDoc package by Frank L?beck and Max Neunh?ffer (http://www.gap-system.org/Packages/gapdoc.html) may also be interesting for you. Best wishes, Alexander Konovalov On 24 Mar 2006, at 17:23, Helge Ruddat wrote: > Dear GAP supporters! > > I am trying to write a large matrix into a text file in such a way > that scilab is able to read it as input. For this I need to write > long strings (about 600 characters) into the file and I am doing this > via AppendTo( filename, string ). > I realized that this function inserts backslashes and newlines to > cut my > strings into smaller pieces, although I do not intend this. It also > is not > documented in the "AppendTo - function - documentation". > Funny is, that the length of the dissected pieces correllates with > the width of my gap terminal window. When I tried to increase > the width of my gap window significantly, gap quit with a > memory access error. > Can someone help me? > > I have version 4.4.6. > > Thanks in advance, > Helge Ruddat > > -- > Helge Ruddat / Tivolistra?e 16 / 79104 Freiburg i.Br. > Tel.: +49 761 2925203 Uni.: +49 761 2035620 > mobil: +49 176 20155350 Heimzone: +49 761 1528137 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From aodabas at ogu.edu.tr Tue Mar 28 10:59:15 2006 From: aodabas at ogu.edu.tr (=?iso-8859-9?Q?Alper_Odaba=FE?=) Date: Tue Mar 28 10:58:12 2006 Subject: [GAP Forum] algebra autmorphism Message-ID: <003401c6524e$4571cb10$be838cc1@ogu209> hi all 1) has gap any function for autmorphism algebra like AutomorphismGroup() 2) A is a GroupRing (Algebra) . How we can determine Aut(A)??? gap> A:=GroupRing(GF(3),CyclicGroup(2)); gap> IsAlgebra(A); true gap> AutA:=GroupRing(GF(3),AutomorphismGroup(CyclicGroup(2))); ???????????? thanks Alper From thomas.breuer at math.rwth-aachen.de Wed Mar 29 09:37:50 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Wed Mar 29 09:39:26 2006 Subject: [GAP Forum] product groups Message-ID: <20060329083750.GB2523@math.rwth-aachen.de> Dear GAP Forum, R. Raghunathan wrote > I have two questions. > Question 1: > Considering two groups 's' and 't' such that > s = ((),(3,4)) and t = ((1,3)(2,4)(5,6)), the sequential GAP commands > s:=Group((3,4));; > t:=Group((1,3)(2,4)(5,6))l;; > u:=DirectProduct(s,t); returns > Group([(1,2),(3,5)(4,6)(7,8)]) as the answer. > The command > Elements(u); returns > ((),(3,5)(4,6)(7,8),(1,2),(1,2)(3,5)(4,6)(7,8)) as the answer which doesn't > +contain, the generators of both the groups 's' and 't' as elements. Is there +an > +interpretation for the result? > > Question 2: > If there exist two groups 'p' and 'q' such that > p=(generator1) and q=(generator2), are the groups > r =(generator1,generator2) and s = {p} U {p}*{q} always equal? Question 1 addresses the question which generators GAP chooses for a direct product of groups. Of course one can represent the elements of a direct product of two groups $G$, $H$ by pairs $(g,h)$ with $g \in G$, $h \in H$. However, such pairs are not very suitable for GAP computations. In the case that $G$ and $H$ are permutation groups, GAP decides to represent the direct product as a permutation group; for that, first the groups are conjugated in a bigger symmetric group in order to achieve that the sets of moved points are disjoint. The connection between the generators of the original groups $G$ and $H$ and the direct product is given by embeddings and projections. In the above example, this looks as follows. gap> s:= Group( (3,4) );; gap> t:= Group( (1,3)(2,4)(5,6) );; gap> u:= DirectProduct( s, t ); Group([ (1,2), (3,5)(4,6)(7,8) ]) gap> emb1:= Embedding( u, 1 ); 1st embedding into Group([ (1,2), (3,5)(4,6)(7,8) ]) gap> emb2:= Embedding( u, 2 ); 2nd embedding into Group([ (1,2), (3,5)(4,6)(7,8) ]) gap> Source( emb1 ); # this is s Group([ (3,4) ]) gap> Image( emb1, s ); # this is the first factor of the direct product Group([ (1,2) ]) gap> Image( emb2, t ); # this is the second factor Group([ (3,5)(4,6)(7,8) ]) If one wants to construct the group generated by two groups in GAP, which is in general *not* a direct product, one can use the function `ClosureGroup'. The result is a group (in fact the smallest group) that contains the two given groups as subsets. In the above example, the closure is a group of order eight. gap> c:= ClosureGroup( s, t ); Group([ (3,4), (1,3)(2,4)(5,6) ]) gap> Size( c ); 8 I am not sure whether I understand Question 2. If ``U'' denotes the union of sets and ``*'' denotes the complex product of sets then the number of elements in ``{p} U {p}*{q}'' is at most the order of `p' plus the product of the orders of `p' and `q'. The group generated by `p' and `q' can be much bigger. For example, the groups < (1,2) > and < (1,3)(2,4) > have order two, and the group < (1,2), (1,3)(2,4) > is a dihedral group of order eight. Or is the question whether the group generated by `p' and `q' equals the group *generated by* `p' and all products of elements in `p' and `q'? Since the elements of `q' are a subset of these products, the answer to this question is yes. All the best, Thomas Breuer From kohl at mathematik.uni-stuttgart.de Wed Mar 29 12:41:44 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Wed Mar 29 12:41:52 2006 Subject: [GAP Forum] RCWA 1.5 Message-ID: <442A7278.2030306@mathematik.uni-stuttgart.de> Dear Forum, This is to announce the release of RCWA 1.5. The RCWA package provides methods for computing in certain infinite permutation groups acting on the integers. Due to a change of maintainership of the GAP website it may take some time until the new version is available at the usual location http://www.gap-system.org/Packages/rcwa.html. In any case, you can get RCWA 1.5 from http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/rcwa.html . Let me take the opportunity to point to a related recent preprint of mine: ---------------------------------------------------------------------------- Title: Three Countable Highly Transitive Simple Groups Containing Collatz' Permutation Abstract: We construct three countable simple permutation groups which act highly transitively on N_0 resp. Z. These groups form an ascending chain w.r.t. inclusion. The smallest of them is generated by involutions which interchange two disjoint residue classes, each. The free group of rank 2 and the modular group PSL(2,Z) embed in this group. We show by means of computation that it further contains a certain permutation of the integers which has already been investigated by Lothar Collatz in 1932, and whose cycle structure is unknown so far. http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/preprints/simplegp.pdf ---------------------------------------------------------------------------- Wishing you fun and success using RCWA, Stefan Kohl From alexander.konovalov at gmail.com Wed Mar 29 16:59:27 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed Mar 29 16:59:41 2006 Subject: [GAP Forum] Experimental GAP Installer for Windows Message-ID: Dear GAP Forum members, Following the announcement of GAP 4.4.7, I would like to inform Windows users that I had updated the experimental GAP Installer for Windows. Now GAP 4.4.7 is available also in exe-format from the page http:// ukrgap.exponenta.ru/wininst/wininst.htm. To install the GAP system and GAP packages, you need to download the following files: - ftp://ftp.gap-system.org/pub/gap/windowsinstaller/gap4r4p7.exe (52 MB): The core GAP system with optional components tools, htmie and xtom - the most recent merged archive of all currently redistributed GAP packages packages-.exe (about 40 MB) from the directory ftp://ftp.gap-system.org/pub/gap/ windowsinstaller/. If you already used the experimental GAP installer for Windows to install GAP 4.4.6, you can upgrade your system to GAP 4.4.7 installing the following update/bugfix: ftp://ftp.gap-system.org/pub/gap/windowsinstaller/fix4r4p7.exe (16,6 MB) The procedure of installing this upgrade/bugfix is similar to the procedure of GAP installation from the exe-file. Best wishes, Alexander Konovalov From joachim.neubueser at math.rwth-aachen.de Thu Mar 30 11:50:59 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Thu Mar 30 11:51:43 2006 Subject: [degraaf@science.unitn.it: Re: [GAP Forum] Automorphism of Algebra] Message-ID: <20060330105059.GA8567@math.rwth-aachen.de> Dear Alper Odaba? You are asking again in the GAP Forum about automorphisms of algebras, after you had asked the same question before on March 9 and your letter had been answered by Willem De Graaf on March 10. Just in case for some reason Willem's letter has not reached you, I append a copy. However please understand that we want to keep the GAP Forum, that is read by several hundred colleagues worldwide, free from unnecessary mail. So certainly repeating a problem is unnecessary, but moreover we make clear on the GAP website, that we ask all users to send questions that are rather particular to them but likely not of interest to many of the Forum members to the address support@gap-system.org rather than to the GAP Forum. Kind regards Joachim Neubueser ----- Forwarded message from Willem De Graaf ----- X-Original-To: joachim.neubueser@math.rwth-aachen.de From: Willem De Graaf Subject: Re: [GAP Forum] Automorphism of Algebra To: Alper Odaba? , forum@gap-system.org Dear Alper Odaba?, Currently GAP does not have much functionality for working with automorphisms of algebras. However, there are functions for constructing homomorphisms (which, as a special case, can be automorphisms). This is done by using the function "AlgebraHomomorphismByImages". The GAP manual contains a description of this function, it is available online: http://www.gap-system.org/Manuals/doc/htm/ref/CHAP060.htm#SECT009 (Note that in order to use it, one must specify set of source generators, and a set of image generators.) Best wishes, Willem de Graaf Alper Odaba? wrote: >Hi all, > >I have a question for algebra , >Let A and B algebras. Suppose that B acts on A, is there a algebra >homomorphism B --> Aut(A) ?? >has GAP any function Automorphism of commutative algebras?? > >gap> G:=Group((1,2,3,4));; >gap> A:=GroupRing(GF(3),G);; >gap> Automorphism(A); >Variable: 'Automorphism' must have a value > >gap> AutomorphismAlgebra(A); >Variable: 'AutomorphismAlgebra' must have a value > >gap> Automorphisms(A); >Variable: 'Automorphisms' must have a value > >gap> Automorphism(A); >Variable: 'Automorphism' must have a value > >gap> AutomorphismOfAlgebra(A); >Variable: 'AutomorphismOfAlgebra' must have a value > >gap> AutomorphismRing(A); >Variable: 'AutomorphismRing' must have a value > >gap> AutomorphismOfRing(A); >Variable: 'AutomorphismOfRing' must have a value > > >thanks. > >Alper > >_______________________________________________ >Forum mailing list >Forum@mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum > > > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum ----- End forwarded message ----- From Rudolf.Zlabinger at chello.at Sat Apr 1 14:49:36 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Sat Apr 1 14:43:05 2006 Subject: [GAP Forum] Rubiks cube and Fp groups Message-ID: <006801c65593$1d1affe0$eec57254@chello.at> I refer to http://www.gap-system.org/Doc/Examples/rubik.html as given by Martin Sch?nert. I tested the presentation of a random element of the cubes permutations in a finitely presented group. I took the free group in the sample and formed a Fp group giving the relators f ^ 4 for all generators of the free group, as this is also given by the original generators. Of course, its a infinite group again, as unnecessarily also tested by the Newman Infinity Criterion. The Preimage for the Free group gave a solution of length 120, the same performed with the Fp group, same permutation, resulted in a chain of 84 moves. To be secure I tested the image also in reverse order successfully, as given by the sample. The random permutation was in both cases (1,22,33,17,19,40,30,35,16,3,6,25,46,24,9,41,27,11,8,14,43)(2,13,31,29,15,42 , 28)(4,5,39,18,37)(7,12,10,26,47)(20,45,36,44,23,21,34)(32,38,48) . The algorithm mentioned in the sample was using stabilizer chains. Is it the same for the Fp group I used for my test? Or is there help for a "better" algorithm caused by the relators? Or is it pure random behaviour? By the way, another question to the same sample. There are given " wreath products of a 3 cycle (2 cycle) with S(8)". Is it right to interprete them as wreath products of the cycles ^ 8 and S(8)? best regards, Rudolf Zlabinger From hulpke at mac.com Sat Apr 1 17:36:35 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Sat Apr 1 17:37:00 2006 Subject: [GAP Forum] Rubiks cube and Fp groups In-Reply-To: <006801c65593$1d1affe0$eec57254@chello.at> References: <006801c65593$1d1affe0$eec57254@chello.at> Message-ID: Dear GAP Forum, On Apr 1, 2006, at 6:49 AM, Rudolf Zlabinger wrote: > I tested the presentation of a random element of the cubes > permutations in a > finitely presented group. > > The Preimage for > the Free group gave a solution of length 120, the same performed > with the Fp > group, same permutation, resulted in a chain of 84 moves. > > The algorithm mentioned in the sample was using stabilizer chains. > Is it the > same for the Fp group I used for my test? Or is there help for a > "better" > algorithm caused by the relators? Or is it pure random behaviour? The algorithm is the same. I uses random words, thus the different length will be due to random behavior. If you construct the same homomorphism anew and try you will see some length discrepancies. > > By the way, another question to the same sample. There are given " > wreath > products of a 3 cycle (2 cycle) with S(8)". Is it right to > interprete them > as wreath products of the cycles ^ 8 and S(8)? I suppose you mean ``semidirect'' in the last line. Then yes. Best wishes, Alexander Hulpke From Rudolf.Zlabinger at chello.at Sat Apr 1 19:23:50 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Sat Apr 1 19:17:14 2006 Subject: [GAP Forum] Rubiks cube and Fp groups References: <006801c65593$1d1affe0$eec57254@chello.at> Message-ID: <00c201c655b9$6cff01c0$eec57254@chello.at> Dear Mr. Hulpke, thank you for your quick answer. I was not surprised to see, that there are random algorithms in use, i would have used also for similar purposes. But the idea, that the relators could contribute, was too attractive for me. Semidirect product is correct in this case, where S(8) doesn't p e r m u t e the components of cycle^8, as defined for wreath products in general, so the only permutation on cycle^8 components would be the identity. My question was not formulated correctly and therefore misleading. But in our context there is no ambiguity at all, as I can see now. As you can see, I had (erroneously?) some more general definition of "wreath product" in mind, where the power of first factor is somewhat independent from the cardinality of workingset of the second factor, and semidirect product would be a special case. The action on the components of first factor by second factor had to be defined separately in this case. In the meantime i found, that "wreath product" has a more strict meaning at least in the context of GAP and from there my question was already answered. thank you and best wishes, Rudolf Zlabinger ----- Original Message ----- From: "Alexander Hulpke" To: "Rudolf Zlabinger" Cc: Sent: Saturday, April 01, 2006 6:36 PM Subject: Re: [GAP Forum] Rubiks cube and Fp groups Dear GAP Forum, On Apr 1, 2006, at 6:49 AM, Rudolf Zlabinger wrote: > I tested the presentation of a random element of the cubes > permutations in a > finitely presented group. > > The Preimage for > the Free group gave a solution of length 120, the same performed > with the Fp > group, same permutation, resulted in a chain of 84 moves. > > The algorithm mentioned in the sample was using stabilizer chains. > Is it the > same for the Fp group I used for my test? Or is there help for a > "better" > algorithm caused by the relators? Or is it pure random behaviour? The algorithm is the same. I uses random words, thus the different length will be due to random behavior. If you construct the same homomorphism anew and try you will see some length discrepancies. > > By the way, another question to the same sample. There are given " > wreath > products of a 3 cycle (2 cycle) with S(8)". Is it right to > interprete them > as wreath products of the cycles ^ 8 and S(8)? I suppose you mean ``semidirect'' in the last line. Then yes. Best wishes, Alexander Hulpke From hulpke at mac.com Sun Apr 2 23:00:51 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Sun Apr 2 23:02:22 2006 Subject: [GAP Forum] Cyclically Reduced Words In-Reply-To: <1143474513.4428095158316@mail.maths.gla.ac.uk> References: <1143474513.4428095158316@mail.maths.gla.ac.uk> Message-ID: <798CB985-C101-4F80-A0C2-969E83A29019@mac.com> Dear GAP-Forum, On Mar 27, 2006, at 8:48 AM, pjd@maths.gla.ac.uk wrote: > > Given the alphabet {a,a^-1,b,b^-1}, how can I get GAP to produce a > list of > cyclically reduced words of length at most 3, 4, etc? There is no predefined function which does this. What I would do if I had to construct these words is to take the code for `Tuples' (in lib/ combinat.gi) to construct combinations of [-n,-(n-1),- (n-2)..-2,-1,1,2,3,..n] and modify it to not permit i following -i and vice versa or have a word starting in i and ending in -i and vice versa. If your application is not time/memory critical the following naive approach is likely the easiest: f:=FreeGroup("a","b"); IsCycRed:=l->l[1]<>-l[Length(l)] and ForAll([1..Length(l)-1],j->l[j] <>-l[j+1]); len:=4; # or whatever w:=Filtered(Tuples([-2,-1,1,2],len),IsCycRed); fam:=FamilyObj(One(f));; List(w,i->AssocWordByLetterRep(fam,i)); Best, Alexander Hulpke From tmeletn at gmail.com Wed Apr 5 00:18:28 2006 From: tmeletn at gmail.com (Tom Meletn) Date: Wed Apr 5 00:18:39 2006 Subject: [GAP Forum] Character table of D4(q) Message-ID: <9ee207f00604041618j553aaa9k7130154d5c684f49@mail.gmail.com> Dear GAP Froum, Do you know how I can get the whole character table of the Chevalley group D4(3), and maybe D4(5)? Thanks, Tom From alexander.konovalov at gmail.com Thu Apr 6 07:54:22 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Thu Apr 6 07:54:23 2006 Subject: [GAP Forum] LAGUNA 3.3.3 Message-ID: <519BD48C-AF8F-45CB-94AA-5E00B228469E@gmail.com> Dear GAP Forum, this is to announce the availability of the new version of the LAGUNA package. The LAGUNA package provides functionality for calculation of the normalized unit group of the modular group algebra of the finite p-group and for investigations of Lie algebras associated with group algebras. LAGUNA 3.3.3 was released on April 03, 2006. It is available from the following pages: - http://ukrgap.exponenta.ru/laguna.htm - http://www.gap-system.org/Packages/laguna.html and also in a merged archive of all currently redistributed GAP packages available from http://www.gap-system.org/Download/index.html The new version fixes a rare no-method-found error that appear during the computation of an inverse of a group ring element in characteristic zero, in the case when the support subgroup is a p-group. Also it contains more explicit statement about the licensing policy and distributing LAGUNA under the GNU General Public License. Sincerely yours, Alexander Konovalov From Rudolf.Zlabinger at chello.at Thu Apr 6 08:15:05 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Apr 6 08:08:16 2006 Subject: [GAP Forum] Answer to Tom Meletn; Chevalley groups Message-ID: <002901c65949$d4603f80$eec57254@chello.at> I found the character table of D4(3), but not D4(5), under O+8(3) in the ATLAS. (see GAPs Bibliography). Yours sincerely, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Thu Apr 6 16:29:11 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Apr 6 16:22:24 2006 Subject: [GAP Forum] Conway Co2 group Message-ID: <011501c6598e$dac96e60$eec57254@chello.at> I try to handle the Conway Co2 group in GAP. I formed a Fpgroup with the relators as given in the ATLAS as follows: gap> START_TEST("The Conway Group Co2.txt"); gap> fgco2:=FreeGroup("a","b","c","d","e","f","g");; gap> a:=fgco2.1;; gap> b:=fgco2.2;; gap> c:=fgco2.3;; gap> d:=fgco2.4;; gap> e:=fgco2.5;; gap> f:=fgco2.6;; gap> g:=fgco2.7;; gap> relators:=[a/(c*f)^2,b/(e*f)^3,e/(b*g)^2,(a*e*c*d)^4,(c*e*f)^7,(b*a*e*f*g)^3];; gap> Append(relators,[a^2,b^2,c^2,d^2,e^2,f^2,g^2]);; gap> Append(relators,[(a*b)^3,(a*c)^2,(a*d)^2,(a*e)^4,(a*f)^2,(a*g)^2]);; gap> Append(relators,[(b*a)^3,(b*c)^5,(b*d)^2,(b*e)^2,(b*f)^2,(b*g)^4]);; gap> Append(relators,[(c*b)^5,(c*d)^3,(c*e)^3,(c*f)^4,(c*g)^2]);; gap> Append(relators,[(d*c)^3,(d*e)^2,(d*f)^3,(d*g)^2]);; gap> Append(relators,[(e*a)^4,(e*c)^3,(e*f)^6,(e*g)^2]);; gap> Append(relators,[(f*c)^4,(f*d)^3,(f*e)^6,(f*g)^4]);; gap> Append(relators,[(g*b)^4,(g*f)^4]);; gap> co2:=fgco2/relators;; gap> STOP_TEST( "The Conway Group Co2",1000); The size of the group is 2^18*3^6*5^3*7*11*23 = 42305421312000; The standard operations as IsFinite, ConjugacyClasses, Size and others, run out of time > 1 hour on my small machine of 500 Mhz, 128MB. Is there, as you know, any chance to handle this Fpgroup smoothly on a machine of 3,5Ghz, 500MB ( I mean times <= 15 minutes)? I currently try to find a representation in a permutation group, would that help? Thank you for hints, Rudolf Zlabinger From reichard at maths.uwa.edu.au Fri Apr 7 02:45:11 2006 From: reichard at maths.uwa.edu.au (Sven Reichard) Date: Fri Apr 7 02:45:41 2006 Subject: [GAP Forum] Conway Co2 group In-Reply-To: <011501c6598e$dac96e60$eec57254@chello.at> References: <011501c6598e$dac96e60$eec57254@chello.at> Message-ID: <4435C427.7040603@maths.uwa.edu.au> Rudolf, you can get a permutation representation of Co2 on 2300 points from the AtlasRep package. This representation can be dealt with quite efficiently. gap> LoadPackage("atlasrep"); ----------------------------------------------------------------------------- Loading AtlasRep 1.2.1 (An Atlas of Group Representations) by Robert A. Wilson (http://for.mat.bham.ac.uk/R.A.Wilson), Richard A. Parker (http://www.ukonline.co.uk/richard), John Bray (http://web.mat.bham.ac.uk/J.N.Bray), and Thomas Breuer (http://www.math.rwth-aachen.de/~Thomas.Breuer). ----------------------------------------------------------------------------- true gap> DisplayAtlasInfo("Co2", IsPermGroup); Representations for G = Co2: (all refer to std. generators 1) ---------------------------- 1: G <= Sym(2300) 2: G <= Sym(4600) gap> gens := AtlasGenerators("Co2", 1).generators;; gap> G := Group(gens); gap> Size(G); 42305421312000 If you want an FP group, you may also try a shorter set of generators, found on the Atlas Homepage: < a, b | a^2 = b^5 = (ab^2)^9 = [a, b]^4 = [a, b^2]^4 = [a, bab]^3 = [a, bab^2ab]^2 = [a, bab^-2]^3 = [a, b^-2abab^-2]^2 = (abab^2ab^-1ab^-2)^7 = 1 >. Hope this helps, Sven Reichard. From dima at ntu.edu.sg Fri Apr 7 06:03:21 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Fri Apr 7 06:03:52 2006 Subject: [GAP Forum] Conway Co2 group In-Reply-To: <4435C427.7040603@maths.uwa.edu.au> References: <011501c6598e$dac96e60$eec57254@chello.at> <4435C427.7040603@maths.uwa.edu.au> Message-ID: <1144386201.27084.13.camel@spms-michele.staff.main.ntu.edu.sg> Dear Rudolf, a presentation that you can work with should have the subgroup U_6(2) visible, then you can enumerate cosets of it in Co_2 without much trouble. I don't know whether such an explicit presentation was ever published, but it is implicit in characterisations of Co_2 via a geometry called extended dual polar space, see e.g. A. A. Ivanov, Exceptional Extended Dual Polar Spaces, Eur. J. Comb. 18 (1997), 859-885, or Hans Cuypers, Extended near hexagons and line systems, Advances in Geometry 4 (2004), 181-214. Hope this helps, Dmitrii From jjm at dcs.st-and.ac.uk Fri Apr 7 11:46:14 2006 From: jjm at dcs.st-and.ac.uk (John McDermott) Date: Fri Apr 7 11:47:34 2006 Subject: [GAP Forum] Matrix Operations and saving cpu cycles Message-ID: Dear Forum, the following message was sent by ariel@zarzamora.com.mx but held for moderation - please direct any replies to that address (cc to forum@gap-system.org). > > Im looking for a way to do simple matrix operations, > specifically, > swap one row with another & > swap one column with another, > also sums and product. > > I do not want to create identity matrices and make de > product as this will involve much more CPU resources (i think), > im doing this for a bigger proyect and want to save cpu cycles. > > Googling the gap system site didn't help much, i cant find an > easy way to do this. Shall i code my own rutine? > > Thanks very much > > Ariel > > From Rudolf.Zlabinger at chello.at Fri Apr 7 14:04:28 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Apr 7 13:57:38 2006 Subject: [GAP Forum] Matrix Operations and saving cpu cycles Message-ID: <000d01c65a43$cda09640$eec57254@chello.at> The most operations could be done by the statistical application R free downlod at The R Project for Statistical Computing Swapping rows and columns could be done at least by multiplying with permutation matrices. best wishes, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Fri Apr 7 19:20:50 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Apr 7 19:13:58 2006 Subject: [GAP Forum] Fw: Matrix Operations and saving cpu cycles Message-ID: <001e01c65a6f$fff5b400$eec57254@chello.at> This should be a option only, GAP provides a rich set of matrix functionality too, you should compare for performance and usability. R may be somewhath simpler to get working with, the functionality is also significantly smaller than that of GAP. best wishes, Rudolf Zlabinger ----- Original Message ----- From: Rudolf Zlabinger To: ariel@zarzamora.com.mx Cc: forum@gap-system.org Sent: Friday, April 07, 2006 3:04 PM Subject: Matrix Operations and saving cpu cycles The most operations could be done by the statistical application R free downlod at The R Project for Statistical Computing Swapping rows and columns could be done at least by multiplying with permutation matrices. best wishes, Rudolf Zlabinger From igor at txc.com Fri Apr 7 19:53:28 2006 From: igor at txc.com (Igor Schein) Date: Fri Apr 7 19:53:41 2006 Subject: [GAP Forum] RPM package Message-ID: <20060407185328.GY19808@txc.com> Dear Forum, does anyone (un)officially maintain gap.spec for building RPMs of latest GAP releases? Thanks Igor From hulpke at frii.com Mon Apr 10 03:45:54 2006 From: hulpke at frii.com (Alexander Hulpke) Date: Mon Apr 10 03:46:18 2006 Subject: [GAP Forum] Conway Co2 group References: Message-ID: <2B1690C3-7795-4B0E-BC44-63F3AF35F3B9@frii.com> Dear GAP Forum, On Apr 6, 2006, at 9:29 , Rudolf Zlabinger wrote: > I try to handle the Conway Co2 group in GAP. I formed a Fpgroup > with the relators as given in the ATLAS as follows: As this question concerns two aspects that come up again and again, allow me a more general answer: The first aspect is on how to get a particular simple (or close to simple) group in GAP. The most ``universal'' source is -- as already mentioned by several contributors -- probably the ATLAS web pages maintained by Rob Wilson and collaborators which provides a plethora of representations for such groups. In particular, there is the AtlasRep package which provides a very nice interface. By searching through the forum archive you will find several mails describing this package in more detail. A second way to get these groups is by the fact that they often have a faithful primitive representation of small degree. (For Example Co2 has a representation of degree 2300.) Thus many of these groups can be found in the primitive groups library. Even if you don't know the degree, but the order you can search for it: AllPrimitiveGroups(IsSimple,true Size,42305421312000); (This will run a while as it has to read in the whole library to check. However you only need to do this once.) The second aspect is working with finitely presented groups. Often the first example of defining a group in an abstract algebra course is de facto as a finitely presented group. Unfortunately this belies a serious problem: There can not be an algorithm (i.e. there is a proof that no such algorithm can exist) which would be able to test for an arbitrary finitely presented group whether it is trivial. In particular just testing the equality of words in a finitely presented group cannot be solved in general. There are heuristics which can work in certain cases, but in other situations these heuristics fail and end up using huge amounts of memory and runtime. With this in mind, the following rules of thumb are worth remembering: - If you have a finite group for which you know the order or even the isomorphism type don't represent it as a finitely presented group or -- if you have no other possibility -- convert it into another representation (say a permutation group as soon as possible. - If you run any ``generic'' command for finitely presented groups, GAP internally has to find a way to compare elements. This is either a faithful permutation representation or a confluent rewriting system. Both can be potentially very large. - Even with such an element comparison in place almost all algorithms used will be very naive, for example enumerating elements. Even just testing whether the group is finite can be unsurmountable. - GAP does NOT automatically translate all complicated commands to permutation groups, because such a permutation representation could potentially be large and doing so would interfere with some calculations for huge finitely presented groups. You have to form the permutation representation by hand. - If you want to get results as words in generators, still work in a permutation group, but use the permutation representation to pull the end result back into a finitely presented (or a free) group. - It can sometimes be worth to preprocess a finitely presented group using `SimplifiedFpGroup' or `IsomorphismSimplifiedFpGroup' to eliminate redundant generators. - If you know a priori the order of a group (of whatever form) you can often help GAP by telling it the order: SetSize(G,known_size); So how could we go about finding a faithful permutation representation. The most naive way is `IsomorphismPermGroup' but this will by default for FP groups use via the representation on the cosets of a cyclic subgroup. (The reason for this is that in general such groups are not simple and we need to ensure that we get a faithful representation.) This is out of the question for a group as large as Co2. The next possibility is to use the permutation representation on the cosets of a subgroup (or a set of subgroups). Here we are in luck, as CO2 is simple and any nontrivial representation will be faithful. So we only need to find a subgroup. To find subgroups one could use quotient algorithms and take preimages of subgroups of quotients, or one could use the low index algorithm to find subgroups of small (say 20-50 at most) index. In our case alas the group is perfect and the smallest subgroup index is 2300. So neither method will succeed. Thus we are left with a slightly desperate attempt: Construct subgroups from generators. (In fact, given the particular presentation used in the example this is not as desperate as it sounds. For these Coxeter-type presentations often subgroups generated by some generators are a good try. Indeed for the group co2 you defined in your mail, the following yields a subgroup of reasonable finite index: gap> s:=Subgroup(co2,GeneratorsOfGroup(co2){[1,2,3,4,5,6]}); Group([ a, b, c, d, e, f ]) gap> Index(co2,s); 47104 Now we can take the permutation action on the cosets to get a permutation representation: gap> act:=FactorCosetAction(co2,s);; gap> p:=Image(act); gap> IsPrimitive(p); true Alas this is primitive, so we don't have an easy way of reducing the degree of the permutation action via blocks. (In fact it is rather hard to construct the representation of degree 2300 from this, which makes the first approach much more promising.) (As Dima Pasechnik wrote, there are other representations in which one can easily find generators for the subgroup of index 2300, which would give us the degree 2300 representation.) Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From l.h.soicher at qmul.ac.uk Mon Apr 10 11:47:40 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Mon Apr 10 11:48:14 2006 Subject: [GAP Forum] Conway Co2 group In-Reply-To: <2B1690C3-7795-4B0E-BC44-63F3AF35F3B9@frii.com> References: <2B1690C3-7795-4B0E-BC44-63F3AF35F3B9@frii.com> Message-ID: <20060410104740.GA24163@mrcpc02.maths.qmul.ac.uk> Dear GAP-Forum, On Sun, Apr 09, 2006 at 08:45:54PM -0600, Alexander Hulpke wrote: [...] > Alas this is primitive, so we don't have an easy way of reducing the > degree of the permutation action via blocks. (In fact it is rather > hard to construct the representation of degree 2300 from this, which > makes the first approach much more promising.) > It is worth pointing out that Praeger and Soicher's book, "Low Rank Representations and Graphs for Sporadic Groups" (CUP, 1997), contains presentations for many sporadic groups (often presentations from the ATLAS), together with sets of words generating subgroups of low (permutation) rank. The given presentations and subgroup generators seem to be "coset enumeration friendly" and can be used to construct many low-rank representations of sporadic groups. In particular, on page 106, the ATLAS presentation for Co2 is given, together with sets of words (in the generators of the given presentation) generating various subgroups, including U6(2):2 of index 2300. Best wishes, Leonard Soicher From alexander.konovalov at gmail.com Mon Apr 10 16:57:07 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Mon Apr 10 16:57:11 2006 Subject: [GAP Forum] Matrix Operations and saving cpu cycles In-Reply-To: References: Message-ID: <91E7580E-390A-4561-8C79-F4610CCEFF4A@gmail.com> Dear Ariel, You can find information about matrices in the GAP Documentation available online, in particular, in the GAP Tutorial : http://www.gap-system.org/Manuals/doc/htm/tut/CHAP003.htm#SECT008 and in the GAP Reference Manual : http://www.gap-system.org/Manuals/doc/htm/ref/CHAP024.htm Sum and product of matrices are standard operations in GAP. If you have matrices m1 and m2, type m1+m2, m1*m2 to get the result: gap> m1:=[[1,2],[3,-1]]; [ [ 1, 2 ], [ 3, -1 ] ] gap> m2:=[[-1,2],[4,0]]; [ [ -1, 2 ], [ 4, 0 ] ] gap> m1+m2; [ [ 0, 4 ], [ 7, -1 ] ] gap> m1*m2; [ [ 7, 2 ], [ -7, 6 ] ] GAP does not have standard functions to swap rows or columns, but these operations can be easily described in GAP. Please let me know if you need more help to implement them. Let me also add the GAP homepage has also its own search tools available on the page http://www.gap-system.org/search.html. Besides this, after you installed GAP, the documentation is available locally on your computer, and you can use the help system to find necessary information, in particular, invoking the help from the GAP session as it is explained on the page http://www.gap-system.org/Manuals/doc/htm/ref/CHAP002.htm or view it with HTML browser (starting pages is gap4r4/doc/htm/ index.htm). Best wishes, Alexander Konovalov >> Im looking for a way to do simple matrix operations, >> specifically, >> swap one row with another & >> swap one column with another, >> also sums and product. >> >> I do not want to create identity matrices and make de >> product as this will involve much more CPU resources (i think), >> im doing this for a bigger proyect and want to save cpu cycles. >> >> Googling the gap system site didn't help much, i cant find an >> easy way to do this. Shall i code my own rutine? >> >> Thanks very much >> >> Ariel From alexk at mcs.st-and.ac.uk Mon Apr 10 16:58:11 2006 From: alexk at mcs.st-and.ac.uk (Alexander Konovalov) Date: Mon Apr 10 16:58:02 2006 Subject: [GAP Forum] RPM package In-Reply-To: <20060407185328.GY19808@txc.com> References: <20060407185328.GY19808@txc.com> Message-ID: <6AFB82F0-39B0-4547-8BDC-DF4292129BAA@mcs.st-and.ac.uk> Dear Igor, to my best knowledge, very long time ago Rex Dieter produced gap.spec for Red Hat, and it seems no longer supported. But then it was used in AltLinux distribution (http://www.altlinux.com/) that contains a package (in a Linux sense) gap-4.4-alt2 by Andrey Brindeew (dated 23 May 2004): see http://www.altlinux.com/index.php?module=sisyphus&package=gap You can find gap.spec in gap-4.4-alt2.src.rpm therefore: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/ SRPMS.classic/gap-4.4-alt2.src.rpm I have somewhere the previous version of gap.spec from this RPM, so I can send it to you if you prefer not to download the full src.rpm package Please note the following: 1) AltLinux have some specific requirements for spec-files, described somewhere in the documentation for AltLinux developers on the AltLinux homepage 2) Looking on the spec file, it is easy to see some possible improvements and necessary updates It would be interesting to know, if you will improve this spec file and will use it. Sincerely yours, Alexander Konovalov On 07 Apr 2006, at 20:53, Igor Schein wrote: > Dear Forum, > > does anyone (un)officially maintain gap.spec for building RPMs of > latest GAP releases? > > Thanks > > Igor From laurent.bartholdi at gmail.com Mon Apr 10 17:24:24 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Mon Apr 10 17:24:35 2006 Subject: [GAP Forum] Matrix Operations and saving cpu cycles In-Reply-To: <91E7580E-390A-4561-8C79-F4610CCEFF4A@gmail.com> References: <91E7580E-390A-4561-8C79-F4610CCEFF4A@gmail.com> Message-ID: <1ff637850604100924i7b08f388l1a20cba16c0fb03a@mail.gmail.com> Dear Alexander, Dear Forum, > GAP does not have standard functions to swap rows or columns, > but these operations can be easily described in GAP. Please > let me know if you need more help to implement them. In fact, GAP does have such commands -- even though they're not documented as such. See Permuted() and PermutedCols() -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From Rudolf.Zlabinger at chello.at Mon Apr 10 18:53:55 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Mon Apr 10 18:46:56 2006 Subject: [GAP Forum] this is a technical test only References: <91E7580E-390A-4561-8C79-F4610CCEFF4A@gmail.com> Message-ID: <004f01c65cc7$bc56f2e0$eec57254@chello.at> please ignore this message, as it is a technical test for forum software and Outlook Express, ys, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Mon Apr 10 20:09:24 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Mon Apr 10 20:02:26 2006 Subject: [GAP Forum] Co2 group; thank you for your valuable input Message-ID: <00df01c65cd2$48171e40$eec57254@chello.at> Thank you all for the numerous contributions concerning the Conway 2 group, i have now stuff to evaluate for about 1 month. First i have to get work Atlasrep, as this seams not to work under Windows without according effort, but I hope, this should not stop me in going forward in my studies in group theory. Thank you all, best wishes, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Tue Apr 11 09:34:52 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue Apr 11 09:27:54 2006 Subject: [GAP Forum] ATLASrep does work under Windows Message-ID: <000f01c65d42$ce314d00$eec57254@chello.at> Dear Thomas Breuer, after investigating in various sources, i succeeded to setup ATLASrep using wget under Windows. As this information may be useful for other Windows users, i think, it would be a good idea to publish that procedure at a suiting central place. Following was to do: 1) Get the wget.exe from http://www.interlog.com/~tcharron/wgetwin.html 2) Investigate the Directories for GAP system programs: gap> DirectoriesSystemPrograms( ) giving im my case: cygdrive/c/windows/command for example, for Windows users that means: 3) put the executable wget.exe in the folder c:/Windows/command (for example). After that wget.exe is known to ATLASrep. 4) after loading the package "atlasrep" set the component AtlasOfGroupRepresentationsInfo.wget to true in order to disable the default to pearl. After doing these steps Atlasrep works, as I tested getting AtlasGenerators("A5",1), for example Thank you for your advice in getting the wget exe, yours sincerely, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Tue Apr 11 13:18:06 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue Apr 11 13:11:05 2006 Subject: Fw: [GAP Forum] this is a technical test only Message-ID: <001101c65d61$fd7434a0$eec57254@chello.at> ----- Original Message ----- From: "Rudolf Zlabinger" To: "John McDermott" Cc: "Alexander Konovalov" ; "Thomas Breuer" Sent: Tuesday, April 11, 2006 2:15 PM Subject: Re: [GAP Forum] this is a technical test only Dear John, thank you for feedback. I seem presently to be the only active Windows user in the forum, because nobody seems to know, what happens with forum against Windows (only Alexander Konovalov told me, that he used Outlook Express a time ago), and also other things, as for example ATLASrep. Outlook Express has to be settled down to a minimal option set, causing a format without anything except plaintext. It was a piece of hard work to guess that option set, I only came to an end as Alexander adviced me to compare the output to a message, that was an answer to an forum message, thus having the required format. That was this test message. But to relate that output format to the needed optionset was a merely puzzling thing. ATLASrep on the other hand has nothing explicit in his docs as to install for example even wget.exe, and it was some effort to do this myself. So I collect experience over the time in dealing with GAP and forum under Windows. If you want, I will be available in the future to share my experience to other Windows users, as needed, and also for some tests under Windows for other parts of GAP, should the need arise (to execute some testfiles under Windows for example). thank you, yours sincerely, Rudolf Zlabinger ----- Original Message ----- From: "John McDermott" To: "Rudolf Zlabinger" Cc: "Alexander Hulpke" Sent: Tuesday, April 11, 2006 11:26 AM Subject: Fwd: [GAP Forum] this is a technical test only Dear Rudolf, Your message appeared - and looked normal - on the Forum. If you receive another message saying that your mail was empty (after filtering) or any other error, please let us know. John. Begin forwarded message: > From: "Rudolf Zlabinger" > Date: 10 April 2006 18:53:55 BDT > To: "Alexander Konovalov" > Cc: forum@gap-system.org > Subject: Re: [GAP Forum] this is a technical test only > > please ignore this message, as it is a technical test for forum > software and > Outlook Express, ys, Rudolf Zlabinger > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From gzabl at yahoo.com Tue Apr 11 14:21:03 2006 From: gzabl at yahoo.com (Gary Zablackis) Date: Tue Apr 11 14:21:14 2006 Subject: Fw: [GAP Forum] this is a technical test only In-Reply-To: <001101c65d61$fd7434a0$eec57254@chello.at> Message-ID: <20060411132103.57807.qmail@web53009.mail.yahoo.com> --- Rudolf Zlabinger wrote: > Dear John, > > thank you for feedback. I seem presently to be the > only active Windows user > in the forum, because nobody seems to know, what > happens with forum against > Windows (only Alexander Konovalov told me, that he > used Outlook Express a > time ago), and also other things, as for example > ATLASrep. > Rudolf, I also am an active Windows user of GAP. I have been able to run all of the GAP packages except for Carat and Edim. If you have any questions that I can help you with, please feel free to ask. Gary Zablackis __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From joerongen at sprint.ca Tue Apr 11 16:19:39 2006 From: joerongen at sprint.ca (Joe Rongen) Date: Wed Apr 12 09:55:40 2006 Subject: [GAP Forum] this is a technical test only References: <001101c65d61$fd7434a0$eec57254@chello.at> Message-ID: <001901c65d7b$7c7d8800$4f58fea9@joerongen> ----- Original Message ----- From: "Rudolf Zlabinger" Sent: Tuesday, April 11, 2006 8:18 AM ... > Outlook Express has to be settled down to a minimal option set, > causing a format without anything except plaintext. It was a piece > of hard work to guess that option set, I only came to an end as > Alexander adviced me to compare the output to a message, that > was an answer to an forum message, thus having the required format. > That was this test message. But to relate that output format to the > needed optionset was a merely puzzling thing. In Outlook Express one simply clicks on "Format" or use the keyboard shortcut: Alt + O. Next, select "Plain Text" and that's it! Please note, Windows has lots of information- help files, available by clicking: "Start" and "Help." Regards Joe ------- "Life is a funny school, where the tests are given before the material can be studied." From alexander.konovalov at gmail.com Wed Apr 12 12:56:17 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed Apr 12 12:56:03 2006 Subject: [GAP Forum] Matrix Operations and saving cpu cycles In-Reply-To: <1ff637850604100924i7b08f388l1a20cba16c0fb03a@mail.gmail.com> References: <91E7580E-390A-4561-8C79-F4610CCEFF4A@gmail.com> <1ff637850604100924i7b08f388l1a20cba16c0fb03a@mail.gmail.com> Message-ID: <65E7AB71-9F56-49D6-B167-3D6AC6E44851@gmail.com> Dear Laurent, thanks for your remark. Let me just add a few comments on it: 1) Dependently on the size of matrices and maybe other factors, another implementation could be more CPU time saving. For example, the following function swaps i-th and j-th row of a matrix mat and returns the resulting matrix m: Swap:=function(mat,i,j) local m, t; m := ShallowCopy(mat); t := m[i]; m[i] := m[j]; m[j] := t; return m; end; gap> e := RandomMat(1000,1000);; gap> for i in [1..10000] do x:=Permuted(e,(1,2)); od; time; 4534 gap> for i in [1..10000] do x:=Swap(e,1,2); od; time; 211 And you can save even more time, if you can use the destructive counterpart of this Swap function, changing the argument mat: SwapDestructive:=function(m,i,j) local t; t := m[i]; m[i] := m[j]; m[j] := t; end; gap> for i in [1..10000] do SwapDestructive(e,1,2); od; time; 20 2) The function PermutedCols actually belongs to the GUAVA package, see http://www.gap-system.org/Manuals/pkg/guava/htm/ chap7.html#s3ss8. So the GUAVA package should be loaded first before calling PermutedCols Best wishes, Alexander On 10 Apr 2006, at 18:24, Laurent Bartholdi wrote: > Dear Alexander, Dear Forum, > >> GAP does not have standard functions to swap rows or columns, >> but these operations can be easily described in GAP. Please >> let me know if you need more help to implement them. > > In fact, GAP does have such commands -- even though they're not > documented as such. See Permuted() and PermutedCols() > > -- > Laurent Bartholdi \ laurent.bartholdigmailcom > EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 > Station 8 \ Secr?taire: +41 21-6935501 > CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From akshriv at gmail.com Thu Apr 13 12:27:03 2006 From: akshriv at gmail.com (Abhishek) Date: Thu Apr 13 12:27:25 2006 Subject: [GAP Forum] orbits of a set under induced group action Message-ID: Dear GAP forum, I need to solve the following problem. Let X be a set and G a group action on X. Let Y={0,1}. Consider the collection Y^X of all functions f:X --> Y. I need to find the orbits of Y^X induced by G. (The image of any function f in Y^X under a \in G is given by (a*f)(x)=f(a*x), for each x in X) I don't know if this can be solved using GAP since I have little background in Group Theory. I'll be glad if someone could point to some specific topic(s) in the GAP Manuals or beyond. Thank you, Abhishek From laurent.bartholdi at gmail.com Thu Apr 13 13:43:55 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Thu Apr 13 13:44:10 2006 Subject: [GAP Forum] orbits of a set under induced group action In-Reply-To: References: Message-ID: <1ff637850604130543y5393f63dhc00f6a6dd5dfeefe@mail.gmail.com> Hi Abhishek, Use the command Orbits(). Functions X -> Y are (characteristic functions of) subsets of X. The orbits split according to size. For example, if G=Alt(4) acting on 4 points, try gap> Orbits(AlternatingGroup(4),Combinations([1..4]),OnSets); [ [ [ ] ], [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 1, 2 ], [ 2, 3 ], [ 1, 3 ], [ 3, 4 ], [ 1, 4 ], [ 2, 4 ] ], [ [ 1, 2, 3 ], [ 1, 3, 4 ], [ 1, 2, 4 ], [ 2, 3, 4 ] ], [ [ 1, 2, 3, 4 ] ] ] which tells you that there are five orbits, of sizes 1,4,6,4,1; for D_8, you get gap> Orbits(DihedralGroup(IsPermGroup,8),Combinations([1..4]),OnSets); [ [ [ ] ], [ [ 1 ], [ 2 ], [ 3 ], [ 4 ] ], [ [ 1, 2 ], [ 2, 3 ], [ 1, 4 ], [ 3, 4 ] ], [ [ 1, 2, 3 ], [ 2, 3, 4 ], [ 1, 3, 4 ], [ 1, 2, 4 ] ], [ [ 1, 2, 3, 4 ] ], [ [ 1, 3 ], [ 2, 4 ] ] ] whence 6 orbits of size 1,4,4,2,4,1. On 4/13/06, Abhishek wrote: > Dear GAP forum, > > I need to solve the following problem. > > Let X be a set and G a group action on X. Let Y={0,1}. > Consider the collection Y^X of all functions f:X --> Y. > I need to find the orbits of Y^X induced by G. (The image of any function f > in Y^X under a \in G is given by (a*f)(x)=f(a*x), for each x in X) > > I don't know if this can be solved using GAP since I have little background > in Group Theory. I'll be glad if someone could point to some specific > topic(s) in the GAP Manuals or beyond. > > Thank you, > Abhishek > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From reichard at maths.uwa.edu.au Thu Apr 13 15:38:29 2006 From: reichard at maths.uwa.edu.au (reichard@maths.uwa.edu.au) Date: Thu Apr 13 15:39:03 2006 Subject: [GAP Forum] orbits of a set under induced group action In-Reply-To: <1ff637850604130543y5393f63dhc00f6a6dd5dfeefe@mail.gmail.com> References: <1ff637850604130543y5393f63dhc00f6a6dd5dfeefe@mail.gmail.com> Message-ID: <58207.203.59.124.92.1144939109.squirrel@203.59.124.92> Hi Abhishek, hi Laurent, the approach described by Laurent works fine if X is reasonably small, say up to 20 elements. For larger X (and hopefully a larger group) you can construct representatives of the orbits without storing all sets simultaneously, e.g., by orderly generation[1]. If you are interested I can make available some code which performs this task. Regards, Sven. [1] READ, R.C. Every-one a winner. Ann. Discr. Math., 1978, 2, 107--120. -- Sven Reichard School of Mathematics and Statistics University of Western Australia From mckay at encs.concordia.ca Thu Apr 13 16:25:47 2006 From: mckay at encs.concordia.ca (MCKAY john) Date: Thu Apr 13 16:25:58 2006 Subject: [GAP Forum] orbits of a set under induced group action In-Reply-To: <58207.203.59.124.92.1144939109.squirrel@203.59.124.92> References: <1ff637850604130543y5393f63dhc00f6a6dd5dfeefe@mail.gmail.com> <58207.203.59.124.92.1144939109.squirrel@203.59.124.92> Message-ID: This is I think a standard problem. There is code in Collected algorithms of ACM in ALGOL going back to the 60's. Try authors Regener, Soicher if my mempory serves me right. John On Thu, 13 Apr 2006 reichard@maths.uwa.edu.au wrote: > Hi Abhishek, hi Laurent, > > the approach described by Laurent works fine if X is reasonably small, say > up to 20 elements. For larger X (and hopefully a larger group) you can > construct representatives of the orbits without storing all sets > simultaneously, e.g., by orderly generation[1]. If you are interested I > can make available some code which performs this task. > > Regards, > Sven. > > [1] READ, R.C. Every-one a winner. Ann. Discr. Math., 1978, 2, 107--120. > > -- > Sven Reichard > School of Mathematics and Statistics > University of Western Australia > > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From akshriv at gmail.com Fri Apr 14 15:43:48 2006 From: akshriv at gmail.com (Abhishek) Date: Fri Apr 14 15:43:58 2006 Subject: [GAP Forum] orbits of a set under induced group action In-Reply-To: References: <1ff637850604130543y5393f63dhc00f6a6dd5dfeefe@mail.gmail.com> <58207.203.59.124.92.1144939109.squirrel@203.59.124.92> Message-ID: Hi John, Sven and Laurent, Laurent, thanks for pointing out that f's are characteristic functions of X. I can now solve small problems. But as Sven said I am running into memory problems when trying to solve large problems. Sven, thanks for the reference. I am trying to get a copy of it. Since my library doesn't have a copy of it, it's going to be a few days before I can get it. I'll probably ask you for your code after I get the paper. Also, from your comment, I'm guessing that GAP doesn't have any such algorithm implemented that just finds a representative in each orbit. Did I get this right? John, thanks for pointer but unfortunately I have not been able to locate it. Can you possibly give me a more specific reference? Regards, Abhishek On 4/13/06, MCKAY john wrote: > > > This is I think a standard problem. There is code in > Collected algorithms of ACM in ALGOL going back to the > 60's. Try authors Regener, Soicher if my mempory serves me > right. > > John > > > On Thu, 13 Apr 2006 reichard@maths.uwa.edu.au wrote: > > > Hi Abhishek, hi Laurent, > > > > the approach described by Laurent works fine if X is reasonably small, > say > > up to 20 elements. For larger X (and hopefully a larger group) you can > > construct representatives of the orbits without storing all sets > > simultaneously, e.g., by orderly generation[1]. If you are interested I > > can make available some code which performs this task. > > > > Regards, > > Sven. > > > > [1] READ, R.C. Every-one a winner. Ann. Discr. Math., 1978, 2, 107--120. > > > > -- > > Sven Reichard > > School of Mathematics and Statistics > > University of Western Australia > > > > > > > > _______________________________________________ > > Forum mailing list > > Forum@mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Web: http://people.tamu.edu/~akshriv/ "One has to look out for engineers - they begin with sewing machines and end up with the atomic bomb." --Marcel Pagnol From Rudolf.Zlabinger at chello.at Fri Apr 14 19:02:50 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Apr 14 18:55:53 2006 Subject: [GAP Forum] Conway Co2 group References: <2B1690C3-7795-4B0E-BC44-63F3AF35F3B9@frii.com> Message-ID: <000c01c65fed$a51f0800$eec57254@chello.at> Dear Alexander Hulpke, Excuse the delay of my answer caused by an accident with my ry right eye, I was nearly blind for 3 days, so I could use my computer first time again yesterday. Thank you for this "crash course" in handling groups of higher complexity. The information contained is very dense and I will evaluate it as integral part of my studies of group theory step by step as I proceed, my present state is introductionary, but my target is to get enough qualification to handle the full extent of informations contained in ATLAS. My longterm target is application of group theory, and, more general, the further application of finite and discrete mathematics in basic physics. A first approximation will be the automorphisms of graphs. I know, there is a long way to go for me, but I think the effort will be worthwile. GAP will be a valuable help to me for following my target. Thank you for your valuable contribution to my efforts, best wishes, Rudolf Zlabinger ----- Original Message ----- From: "Alexander Hulpke" To: "GAP Forum" Dear Alexander Sent: Monday, April 10, 2006 4:45 AM Subject: Re: [GAP Forum] Conway Co2 group Dear GAP Forum, On Apr 6, 2006, at 9:29 , Rudolf Zlabinger wrote: > I try to handle the Conway Co2 group in GAP. I formed a Fpgroup > with the relators as given in the ATLAS as follows: As this question concerns two aspects that come up again and again, allow me a more general answer: The first aspect is on how to get a particular simple (or close to simple) group in GAP. The most ``universal'' source is -- as already mentioned by several contributors -- probably the ATLAS web pages maintained by Rob Wilson and collaborators which provides a plethora of representations for such groups. In particular, there is the AtlasRep package which provides a very nice interface. By searching through the forum archive you will find several mails describing this package in more detail. A second way to get these groups is by the fact that they often have a faithful primitive representation of small degree. (For Example Co2 has a representation of degree 2300.) Thus many of these groups can be found in the primitive groups library. Even if you don't know the degree, but the order you can search for it: AllPrimitiveGroups(IsSimple,true Size,42305421312000); (This will run a while as it has to read in the whole library to check. However you only need to do this once.) The second aspect is working with finitely presented groups. Often the first example of defining a group in an abstract algebra course is de facto as a finitely presented group. Unfortunately this belies a serious problem: There can not be an algorithm (i.e. there is a proof that no such algorithm can exist) which would be able to test for an arbitrary finitely presented group whether it is trivial. In particular just testing the equality of words in a finitely presented group cannot be solved in general. There are heuristics which can work in certain cases, but in other situations these heuristics fail and end up using huge amounts of memory and runtime. With this in mind, the following rules of thumb are worth remembering: - If you have a finite group for which you know the order or even the isomorphism type don't represent it as a finitely presented group or -- if you have no other possibility -- convert it into another representation (say a permutation group as soon as possible. - If you run any ``generic'' command for finitely presented groups, GAP internally has to find a way to compare elements. This is either a faithful permutation representation or a confluent rewriting system. Both can be potentially very large. - Even with such an element comparison in place almost all algorithms used will be very naive, for example enumerating elements. Even just testing whether the group is finite can be unsurmountable. - GAP does NOT automatically translate all complicated commands to permutation groups, because such a permutation representation could potentially be large and doing so would interfere with some calculations for huge finitely presented groups. You have to form the permutation representation by hand. - If you want to get results as words in generators, still work in a permutation group, but use the permutation representation to pull the end result back into a finitely presented (or a free) group. - It can sometimes be worth to preprocess a finitely presented group using `SimplifiedFpGroup' or `IsomorphismSimplifiedFpGroup' to eliminate redundant generators. - If you know a priori the order of a group (of whatever form) you can often help GAP by telling it the order: SetSize(G,known_size); So how could we go about finding a faithful permutation representation. The most naive way is `IsomorphismPermGroup' but this will by default for FP groups use via the representation on the cosets of a cyclic subgroup. (The reason for this is that in general such groups are not simple and we need to ensure that we get a faithful representation.) This is out of the question for a group as large as Co2. The next possibility is to use the permutation representation on the cosets of a subgroup (or a set of subgroups). Here we are in luck, as CO2 is simple and any nontrivial representation will be faithful. So we only need to find a subgroup. To find subgroups one could use quotient algorithms and take preimages of subgroups of quotients, or one could use the low index algorithm to find subgroups of small (say 20-50 at most) index. In our case alas the group is perfect and the smallest subgroup index is 2300. So neither method will succeed. Thus we are left with a slightly desperate attempt: Construct subgroups from generators. (In fact, given the particular presentation used in the example this is not as desperate as it sounds. For these Coxeter-type presentations often subgroups generated by some generators are a good try. Indeed for the group co2 you defined in your mail, the following yields a subgroup of reasonable finite index: gap> s:=Subgroup(co2,GeneratorsOfGroup(co2){[1,2,3,4,5,6]}); Group([ a, b, c, d, e, f ]) gap> Index(co2,s); 47104 Now we can take the permutation action on the cosets to get a permutation representation: gap> act:=FactorCosetAction(co2,s);; gap> p:=Image(act); gap> IsPrimitive(p); true Alas this is primitive, so we don't have an easy way of reducing the degree of the permutation action via blocks. (In fact it is rather hard to construct the representation of degree 2300 from this, which makes the first approach much more promising.) (As Dima Pasechnik wrote, there are other representations in which one can easily find generators for the subgroup of index 2300, which would give us the degree 2300 representation.) Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From sh_fouladi at yahoo.com Sat Apr 15 10:41:04 2006 From: sh_fouladi at yahoo.com (shirin fouladi) Date: Sat Apr 15 10:42:11 2006 Subject: [GAP Forum] a question about central product Message-ID: <20060415094105.27402.qmail@web53311.mail.yahoo.com> Dear Gap Forum. Is there any way, to find the central product of two arbitrary groups in Gap. Best Regards. Shirin fouladi --------------------------------- Love cheap thrills? Enjoy PC-to-Phone calls to 30+ countries for just 2?/min with Yahoo! Messenger with Voice. From Rudolf.Zlabinger at chello.at Mon Apr 17 13:35:55 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Mon Apr 17 13:28:44 2006 Subject: [GAP Forum] Conway Co2 group (fwd) References: Message-ID: <000801c6621b$789f9080$eec57254@chello.at> Dear Beth, although this is outside the range of GAP Forum, here my basic ideas, yet in an very intuitive and initial state, this is only a first possible and speculative approximation: Assume, that physical space is finite and consists of elements connected by some kind of neighbourhood and thus can be modelled by finite graphs. Then all possible physical structures can be modelled by graphs, whereas flat space is a special structure only and physical objects, as particles, emerging from flat space by their special structure, thus physical objects and space are somewhat the same: graphs. The symmetries of space and physical objects then would be given by groups, and, as beeing finite, by finite groups..... Symmetries could be to some extent "structure stabilizers" over the time and thus they could be the primary constituent for objects, that could survive long enough to gain physical "existence", the emergence I mentioned above. In such a way groups could describe and classify emergent physical objects, for example the stabile particles known, and not yet known. (A "periodical system" of particles?) A thrilling example: Consider a full graph, where all vertices are fully connected to each other. Lets assume, that lenght is a measure on the minimal pathlengths between the vertices. Thus the object described by such a graph would be a region of space of minimal diameter and maximal densitiy and maximal symmetry and thus maximal stability, properties, that are, for example, described for a black hole..... A model like this could describe any structure, that, at the present, cannot be handled by models used as yet.... I am fascinated by this idea, and, in order to develope it, I am now first trying to get enough qualification in discrete mathematics. The next step would be to gain some ideas and informations to "dynamic structures" ("time" series of discrete structures). thank you for your interest, best wishes, Rudolf Zlabinger ----- Original Message ----- From: "Beth Holmes" To: Cc: "Steve Linton" Sent: Sunday, April 16, 2006 3:52 PM Subject: Re: [GAP Forum] Conway Co2 group (fwd) Rudolf, Hi. I was interested to see that you want to apply group theory to physics. My own experience is mostly in computing with ATLAS groups, but I am currently seeking physics problems that I can apply computational algebra to. If there is anything that you need any help with that wasn't in Alexander's email, or any computations that GAP isn't sufficient for, please get in touch as I am really keen to get involved with that sort of thing. Yours, Beth Holmes ---------- Forwarded message ---------- Date: Fri, 14 Apr 2006 20:02:50 +0200 From: Rudolf Zlabinger To: Alexander Hulpke Cc: forum@gap-system.org Subject: Re: [GAP Forum] Conway Co2 group My longterm target is application of group theory, and, more general, the further application of finite and discrete mathematics in basic physics. A first approximation will be the automorphisms of graphs. I know, there is a long way to go for me, but I think the effort will be worthwile. GAP will be a valuable help to me for following my target. From r_n_tsai at yahoo.com Wed Apr 19 01:11:59 2006 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Wed Apr 19 01:15:46 2006 Subject: [GAP Forum] Casimir Invariants of Lie Algebras Message-ID: <20060419001159.56876.qmail@web33704.mail.mud.yahoo.com> Dear gap-forum, Is it possible to calculate Casimir invariants of Lie algebras? Alternatively can you calculate the center of the the Universal Enveloping Algebra? Here's an attempt that didn't work : gap> L:= SimpleLieAlgebra( "B", 2, Rationals );; gap> UL:= UniversalEnvelopingAlgebra( L );; gap> Center(UL); Error, this case will eventually be handled by the Vector Enumerator which is not available yet called from OperationAlgebraHomomorphism( A, [ [ Zero( A ) ] ], OnRight ) called from IsomorphismMatrixFLMLOR( A ) called from IsFiniteDimensional( A ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> quit; I'm using GAP4 version 4.4.7 under WindowsXp (cygwin) Thanks, R.N. --------------------------------- Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates. From degraaf at science.unitn.it Wed Apr 19 16:29:10 2006 From: degraaf at science.unitn.it (Willem De Graaf) Date: Wed Apr 19 16:30:01 2006 Subject: [GAP Forum] Casimir Invariants of Lie Algebras In-Reply-To: <20060419001159.56876.qmail@web33704.mail.mud.yahoo.com> References: <20060419001159.56876.qmail@web33704.mail.mud.yahoo.com> Message-ID: <44465746.6020107@science.unitn.it> Dear R.N. Tsai, Unfortunately in GAP there is no algorithm implemented to find the centre of a universal enveloping algebra of a split semisimple Lie algebra. The only algorithm that I know for this purpose constructs a set of linear equations for the generators of the centre. However, for all but a few small cases that is very inefficient, as the number of equations quickly becomes huge. Sorry for not being able to help more. Best wishes, Willem de Graaf From ndroock1 at gmail.com Wed Apr 19 21:26:44 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Wed Apr 19 21:26:56 2006 Subject: [GAP Forum] Request for advice Message-ID: Hi GAP forum members, I appreciate any advice, hints, ideas concerning the following... A bit of background: I consider myself an abstract algebra self-student, that is: i have learned everything I know through self-study. That would not have been possible without Mathematica, and more recently GAP. My career, work, is in IT consultancy. Mathematics however, is in my heart, I am sure you'll understand. Although there is already an Abstract Algebra package for Mathematica available, it is limited and no longer maintained. ( http://www.central.edu/eaam/index.asp ) It is my goal to develop a Group Theory package for Mathematica. I'll make it a project of 1, maybe 2 years. This project is ( nothing more than ) an instrument to bring my understanding of Group theory to a deeper level. Sofare about my plans. My ambitions are the following. ( Initially ) I do not want to invent algorithms, I want to study them and implement them in the Mathematica programming language. Since GAP is ( or very close to ) the centre of the state-of-the-art of Computational Group Theory / Algebra, I intend to use the GAP algorithms, if at all possible. If I understand it correct the knowledge in GAP is free to use as long as it is referenced. As far as functionality is concerned I aim for what is available in the nice Open Source program Group Explorer 2.0 ( http://groupexplorer.sourceforge.net/ ) plus Character Tables, Table of Marks and the Cycle Graph of a group. More than enough to do, I might say. Group Explorer is rather limited in the groups it can handle: all groups of order =< 20, three of order 24 and A5. I intend to be able to handle much more groups than that. The key to solving that issue is imo using better, faster algorithms. Hence, GAP. To the point. I am looking for ( the papers which contain ) the algorithms on which GAP has been built, restricted to Group Theory, Representation Theory, Vector Spaces and Matrices. What is really an issue in my situation though, is that, since I don't work at a university, I do not have access to the paid journals. Before you may decide this message is outside the context of the GAP forum I would like to add that it is my ultimate goal to add code to GAP itself and publish about that, and the sooner the better. In order to achieve that I must practice first. Thanks for reading. Kind regards, nilo de roock From niranj at math.ohio-state.edu Wed Apr 19 23:30:51 2006 From: niranj at math.ohio-state.edu (Niranjan Balachandran) Date: Wed Apr 19 23:31:00 2006 Subject: [GAP Forum] Request for advice In-Reply-To: References: Message-ID: hi, i think the book by Akos Seress titled Permutation group Algorithms is a good source to start looking for things. bye niranjan From joachim.neubueser at math.rwth-aachen.de Thu Apr 20 12:05:29 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Thu Apr 20 12:05:55 2006 Subject: [GAP Forum] Request for advice In-Reply-To: References: Message-ID: <20060420110529.GA8960@math.rwth-aachen.de> Dear Nilo de Rook, > To the point. I am looking for ( the papers which contain ) the algorithms > on which GAP has been built, restricted to Group Theory, Representation > Theory, Vector Spaces and Matrices. The page http://www.gap-system.org/Doc/references.html of the GAP website gives you an overview of literature on computational group theory. The book by Derek Holt is to be specially recommended. Kind regards Joachim Neubueser From maasiru at yahoo.com Thu Apr 20 17:33:31 2006 From: maasiru at yahoo.com (muniru asiru) Date: Thu Apr 20 17:34:04 2006 Subject: [GAP Forum] Counting number of involutions in finite simple groups. Message-ID: <20060420163331.18621.qmail@web53313.mail.yahoo.com> I will be grateful if you can offer some help on this problem. I have been counting the number of involutions in finite simple groups and I like to know whether or not it is possible to use Gap to find examples of finite simple groups for which "the number of involutions including the identity element is a prime number (greater or equal to 5)" or to relax the condition a little bit, can one use Gap to find examples of finite simple groups for which "the number of involutions including the identity element is odd (greater or equal to 5)". If G is a group, x in G is called an involution if x^2=1, where 1 is the identity element in G. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From jdixon at math.carleton.ca Thu Apr 20 17:54:45 2006 From: jdixon at math.carleton.ca (John Dixon) Date: Thu Apr 20 21:42:49 2006 Subject: [GAP Forum] Counting number of involutions in finite simple groups. In-Reply-To: <20060420163331.18621.qmail@web53313.mail.yahoo.com> References: <20060420163331.18621.qmail@web53313.mail.yahoo.com> Message-ID: <4447BCD5.7090000@math.carleton.ca> The condition you ask for will never happen. If G is a finite group of order g and p^k is a prime power dividing g then a modified version of the Sylow theorems shows that the number of subgroups of G of order p^k is congruent to 1 mod p. In your case, the number of subgroups of order 2 is odd, and this implies that the number of involutions (including 1) is even. - John Dixon. muniru asiru wrote: > > I will be grateful if you can offer some help on this > problem. > > I have been counting the number of involutions in > finite simple groups and > I like to know whether or not it is possible to use > Gap to find examples of finite simple groups for which > > > "the number of involutions including the identity > element is a prime number (greater or equal to 5)" > > or to relax the condition a little bit, can one use > Gap to find examples of finite simple groups for which > > "the number of involutions including the identity > element is odd (greater or equal to 5)". > > If G is a group, x in G is called an involution if > x^2=1, where 1 is the identity element in G. > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > From marta31 at gmail.com Tue Apr 25 04:37:29 2006 From: marta31 at gmail.com (marta asaeda) Date: Tue Apr 25 04:37:41 2006 Subject: [GAP Forum] galois group Message-ID: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> Hello I am wondering if galois group computation using gap is useable as a mathematical result. Is there any ambiguity ? Or, if I give a polynomial, and it computes its galois group, is it mathematically certain that the polynomial I gave was irreducible ? How does gap know that it is irreducible ? marta From mckay at encs.concordia.ca Tue Apr 25 12:57:25 2006 From: mckay at encs.concordia.ca (MCKAY john) Date: Tue Apr 25 12:57:36 2006 Subject: [GAP Forum] galois group In-Reply-To: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> References: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> Message-ID: In my view it is unacceptable for a result to be given by computer unless it is true. The nature of mathematics is that it is about certainty. Why may a result not fit these criteria? Galois computations may be time consuming. It is often faster to compute with numerical approximations than to work exactly. By themselves, these approximations are inadequate and may lead to dubious results. A good example of how to PROVE exactness from numerical approximations comes from a note by Darmon and Ford (Communications in Algebra,17, (1989) pp. 2941-2943 Computational verification of M11 & M12 as Galois groups over Q.) referred to at the start of the issue of J. Symb. Computing devoted to computing Galois groups. An illuminating toy example is the cubic resolvent of a 4-ic monic polynomial in which one needs to decide for some root labelling if x1x2+x3x4 is a rational integer. How to prove this from numerical approximations? A priori it is an algebraic integer. p-adic methods will often provide the means to prove exactness. Unfortunately some systems do not give the user essential information needed to establish whether the method is exact - and its truth assured... as an example, testing primality is often done with many quadratic residue tests and n tests imply a probability of 1-1/2**n of correctness. Finally all programs have a possibility of internal error - and there is always a remote possibility of error elsewhere (do you recall the "division error" in a chip years ago?) If in doubt, examine the steps of the "proof" given by GAP. GAP is one of the very best and, as far as know, GAP provides provable results for Galois groups... however CAVEAT EMPTOR! John McKay On Mon, 24 Apr 2006, marta asaeda wrote: > Hello > > I am wondering if galois group computation using gap is useable as a > mathematical result. Is there any ambiguity ? Or, if I give a polynomial, > and it computes its galois group, is it mathematically certain that the > polynomial I gave was irreducible ? How does gap know that it is irreducible > ? > > marta > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From hulpke at math.colostate.edu Tue Apr 25 16:58:06 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue Apr 25 16:58:02 2006 Subject: [GAP Forum] galois group In-Reply-To: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> References: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> Message-ID: Dear GAP Forum, Marta Aseda wrote: > > I am wondering if galois group computation using gap is useable as a > mathematical result. In general, unless you explicitly turn off verifications or use functions which deliberately only return proibabilistic results (such as `ProbabilityShapes' for Galois groups), any result obtained with (documented functions of) GAP is proven correct. (There is of course always the philosophical problem of human error in implementation or use, however the same problems are as well in published papers.) The aim is that one could use such a result in the same way as a result from a published paper. > Is there any ambiguity ? Or, if I give a polynomial, > and it computes its galois group, is it mathematically certain that > the > polynomial I gave was irreducible ? How does gap know that it is > irreducible The command `GaloisType' first performs an irreducibility test, using the standard approach of factorization modulo a prime, Hensel lifting and testing systematically all combinations of the lifted factors. (There is a newer algorithm due to van Hoeij, but this is not yet implemented in GAP.) You can check this directly by calling `Factors' on the polynomial. Thus indeed it is certain that -- if no error is issued -- the polynomial is irreducible. Also the type returned by `GaloisType' is proven correct -- at the cost that such a test might take very long for certain polynomials. Best wishes, Alexander Hulpke From l.h.soicher at qmul.ac.uk Wed Apr 26 12:14:14 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Wed Apr 26 12:14:41 2006 Subject: [GAP Forum] Future developments for the DESIGN Package Message-ID: <20060426111414.GA12403@mrcpc02.maths.qmul.ac.uk> Dear Design Developers, Dear GAP-Forum, This message is to inform you of developments for a future release of the DESIGN Package for GAP. The functionality is being improved to allow for more straightforward construction of block designs, such as those formed from group orbits of blocks, and derived and residual designs. Moreover, greater use of (new and old) theoretical knowledge is being used in the BlockDesigns function for more efficient discovery and classification of block designs with given properties. Also, the documentation is being upgraded. ONE WARNING: I plan to remove the undocumented option to BlockDesigns for it to compute only the resolvable and simple block designs with the given properties. This would be a useful option if it worked efficiently, but at present to compute resolvable designs (using the DESIGN package) it seems to be usually more efficient to compute all block designs with the given properties and then to filter out the resolvable ones. I'm sure it is possible to do better than this, but probably not with the current setup. If the "resolvable and simple" feature is essential to your work then I would be interested to hear about it, and might reconsider my decision to remove this cumbersome "feature". In due course I may try to write a more efficient implementation of an ability to produce only resolvable block designs with given properties. Regards, Leonard Soicher From costanti at science.unitn.it Wed Apr 26 18:03:39 2006 From: costanti at science.unitn.it (Marco Costantini) Date: Wed Apr 26 18:04:15 2006 Subject: [GAP Forum] galois group In-Reply-To: References: <4dd3929a0604242037o344ed2cdka72d91feca152ee0@mail.gmail.com> Message-ID: <200604261903.39695.costanti@science.unitn.it> Dear all, Gap is an open source system, so each user can look at the code of each function, to check both whether it is correct, and whether it does what the user needs. (Yes, this requires time, but also reading and full understanding a published paper requires time.) Of course bugs in Gap happen, however, when bugs are reported, they are usually fixed within a reasonable time. On the other hand, usually "bugs" in published papers are not fixed, and it has been reported that one refereed paper out of four contains at least a "bug". So I would say that using a result from Gap may be at least as safe as using a result from a published paper. Best regards, Marco Costantini On Tuesday 25 April 2006 17:58, Alexander Hulpke wrote: > > Marta Aseda wrote: > > I am wondering if galois group computation using gap is useable as a > > mathematical result. > > In general, unless you explicitly turn off verifications or use > functions which deliberately only return proibabilistic results (such > as `ProbabilityShapes' for Galois groups), any result obtained with > (documented functions of) GAP is proven correct. (There is of course > always the philosophical problem of human error in implementation or > use, however the same problems are as well in published papers.) The > aim is that one could use such a result in the same way as a result > from a published paper. From dn2447 at yahoo.com Sun Apr 30 22:06:28 2006 From: dn2447 at yahoo.com (D N) Date: Sun Apr 30 22:06:44 2006 Subject: [GAP Forum] The ring associated to the set of irreducible characters of a finite group Message-ID: <20060430210628.73695.qmail@web37406.mail.mud.yahoo.com> Dear Gap Forum, Let G be a finite group and let Irr(G) be the set of irreducible complex characters of G. Then the set Irr(G) gives rise to a ring. Given any two finite groups G and G' is there a way to use GAP to check whether the rings associated to Irr(G) and Irr(G') are isomorphic? Best, D. Naidu --------------------------------- Get amazing travel prices for air and hotel in one click on Yahoo! FareChase From akshriv at gmail.com Mon May 1 15:01:17 2006 From: akshriv at gmail.com (Abhishek) Date: Mon May 1 15:02:39 2006 Subject: [GAP Forum] algorithm used by GAP for OrbitsDomain(...) ? Message-ID: Hi, I want to know the algorithm used by GAP when a call to OrbitsDomain(...) function is made. The reference manual on page 396 only says that the OrbitsDomain operation is often faster than orbits. I want to know how/why is it so. Any pointers would be greatly appreciated. Regards Abhishek -- Web: http://people.tamu.edu/~akshriv/ From anvita21 at usa.com Tue May 2 02:47:48 2006 From: anvita21 at usa.com (Anvita) Date: Tue May 2 02:48:27 2006 Subject: [GAP Forum] normalizer of the identity symmetric group Message-ID: <20060502014748.33FDB83BFA@ws3-1.us4.outblaze.com> Dear Forum, This is probably trivial again, but still I thought I should report it. All is fine when I do the following: ------------------------ gap> G:=Group(()); Group(()) gap> N:=Normalizer(G,G); Group(()) gap> ------------------------ However, a similar program makes GAP break: ----------------------------------------------------------------------------- gap> S:=SymmetricGroup(1); Sym( [ ] ) gap> N:=Normalizer(S,S); Error, usage: Group(,...), Group(), Group(,) called from Group( pg ) called from NormalizerParentSA( G, U ) called from oper( super, sub ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> ----------------------------------------------------------------------------- Why? Anvita -- ___________________________________________________ Play 100s of games for FREE! http://games.mail.com/ From craigugoretz at yahoo.com Tue May 2 03:28:27 2006 From: craigugoretz at yahoo.com (Craig Ugoretz) Date: Tue May 2 03:28:51 2006 Subject: [GAP Forum] GAP feasibility study? Message-ID: <20060502022827.39524.qmail@web82104.mail.mud.yahoo.com> Hello, For the past year I have been doing pre-research into a means of implementing mathematical texts on the subject of neutrosophics, a new form of logic, in a computer program. These texts, per my analysis, depend upon abstract algebra. By browsing the Internet, I discovered the GAP program, and I wonder if it would be suitable to implement the mathematics. However, I have a minimum of knowledge about abstract algebra, so it has been difficult for me to come to a decision. I decided to write this forum to see if anyone with extensive knowledge of the GAP program could help render a decision for/with me regarding its feasibility. Please refer to this web page: http://www.gallup.unm.edu/~smarandache/philos.htm. I realize that there is a lot of material to take a look at, so any help given this matter would be most appreciated. As motivation, please take a look at some of the books that give examples of neutrosophic philosophy and how neutrosophics could be used to model social political situations. I believe that this new philosophy, as does its founder Dr. Smarandache, has applications to world peace because it is a means of expressing neutralities between conflicting philosophical systems. Feel free to contact me at any juncture. Sincerely, Craig Ugoretz craigugoretz@yahoo.com --------------------------------- Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates. From hulpke at mac.com Tue May 2 12:02:25 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Tue May 2 12:02:39 2006 Subject: [GAP Forum] algorithm used by GAP for OrbitsDomain(...) ? In-Reply-To: References: Message-ID: > Dear GAP-Forum, Abishek wrote: > I want to know the algorithm used by GAP when a call to OrbitsDomain > (...) > function is made. The reference manual on page 396 only says that the > OrbitsDomain operation is often faster than orbits. I want to know > how/why > is it so. OrbitsDomain *must* be given a domain which must be closed under the group operation. Orbits takes only seed points for the orbits, the orbits can be much larger than the set of seed points. `OrbitsDomain' can be faster as it can for example use an enumeration of the full domain and use bit lists to remember which points have been touched. `Orbits' instead must check all seed points whether they are contained in the orbits found so far. The reason for having these two operations is that `Orbits' (with this syntax) was available in GAP3 and therefore has to be available for compatibility reasons. However now we realize that the syntax of `OrbitsDomain' in general permits a more efficient operation. If you write new code I'd recommend you use `OrbitsDomain'. Best wishes, Alexander Hulpke From ken.w.smith at cmich.edu Tue May 2 12:35:27 2006 From: ken.w.smith at cmich.edu (Ken W Smith) Date: Tue May 2 12:35:46 2006 Subject: [GAP Forum] GAP feasibility study? In-Reply-To: <20060502022827.39524.qmail@web82104.mail.mud.yahoo.com> References: <20060502022827.39524.qmail@web82104.mail.mud.yahoo.com> Message-ID: <1d8c1898a7b0229f9d7fc75f58b85612@cmich.edu> Hi Craig, I would be concerned about two issues -- there is a "learning curve" that has to be climbed in learning abstract algebra; in addition, if one is not comfortable programming (say in C or C++), there can be also be a learning curve associated with writing GAP programs.... There is an introductory manual, "Abstract Algebra and GAP", by Rainbolt and Gallian, see: http://euler.slu.edu/Dept/Faculty/rainbolt/manual.html Also -- and this is of interest to other GAP users -- the MAA has a short online class on "Incorporating the Software GAP into the Teaching of Abstract Algebra". Check out: http://www.maa.org/prep/2006/ (I'm grateful to a colleague for pointing out this short course. It is July 10-14, 2006.) yours, Ken On May 1, 2006, at 10:28 PM, Craig Ugoretz wrote: > Hello, > > For the past year I have been doing pre-research into a means > of implementing mathematical texts on the subject of neutrosophics, a > new form of logic, in a computer program. These texts, per my > analysis, depend upon abstract algebra. By browsing the Internet, I > discovered the GAP program, and I wonder if it would be suitable to > implement the mathematics. However, I have a minimum of knowledge > about abstract algebra, so it has been difficult for me to come to a > decision. I decided to write this forum to see if anyone with > extensive knowledge of the GAP program could help render a decision > for/with me regarding its feasibility. > > Please refer to this web page: > http://www.gallup.unm.edu/~smarandache/philos.htm. I realize that > there is a lot of material to take a look at, so any help given this > matter would be most appreciated. As motivation, please take a look > at some of the books that give examples of neutrosophic philosophy and > how neutrosophics could be used to model social political situations. > I believe that this new philosophy, as does its founder Dr. > Smarandache, has applications to world peace because it is a means of > expressing neutralities between conflicting philosophical systems. > > Feel free to contact me at any juncture. > > Sincerely, > Craig Ugoretz > > craigugoretz@yahoo.com > > > --------------------------------- > Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low > rates. > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > --- Ken W. Smith, Professor of Mathematics, Central Michigan University 989-854-0185 (Cell) http://www.cst.cmich.edu/users/smith1kw Address for 2005-06: 22 Chase Gayton Terrace, Apt 1518 Richmond, VA 23238-6526 From maasiru at yahoo.com Wed May 3 15:55:04 2006 From: maasiru at yahoo.com (muniru asiru) Date: Wed May 3 15:56:09 2006 Subject: [GAP Forum] I need a help Message-ID: <20060503145504.91361.qmail@web53306.mail.yahoo.com> I should be grateful if you can offer to help. I have always found it easy to use the library of small groups in GAP whenever I need to make specific reference to some small group in my calculations; for example k1:=OneSmallGroup(Size,8,IsAbelian,false); My problem is to determine all subgroups of k1 as defined using GAP functions. Note: I know that k1 is "D8", but I do not want to identify k1 in this manner. Sincerely, M.A. Asiru __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Rudolf.Zlabinger at chello.at Sat May 6 09:50:51 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Sat May 6 09:42:49 2006 Subject: [GAP Forum] Ikosaeder group Message-ID: <004801c670ea$2dab5860$eec57254@chello.at> I dealt with the finite rotation group for the ikosaeder. My task was to find a permutation group acting on the 12 vertices of ikosaeder recognizing a special numbering of the vertices as such: look at the ikosaeder from a top vertex, numbered as 1, then on the 2 x 5 vertices forming 2 somehow parallel cycles numbered by 2,3,4,5,6 and 7,8,9,10,11, followed by the bottom vertex numbered by 12. Thus the permutation group looked for should contain the rotation around the axis 1,12 executed by the permutation (2,3,4,5,6)(7,8,9,10,11). Unfortunately the representative isomorphism Groups of symmetric group 12 itself did not contain the desired rotation, so I had to look for a conjugate group of them containing it. I for the first glance found no direct method for doing that, so I used the following sequence: s12:=SymmetricGroup(12); normact:=(2,3,4,5,6)(7,8,9,10,11);; # the desired rotation ccnormact:=ConjugacyClass(s12,normact); # the conjugacyclass containing the rotation Read(Ikosaeder); # ikosaeder is introduced as group of perm matrices on 12 points # representing the vertices of ikosaeder numbered as desired isos12:=IsomorphicSubgroups(s12,ikosaeder); # to mirror the matrices to permgroups acting on 12 points iisos12:=List(isos12,c->Image(c)); # to get groups; none of the representative groups contains normact <======= enumiisos12:=List(iisos12,c->Enumerator(c)); # to prepare for efficiency intersects:=List(enumiisos12,c->Intersection(c,ccnormact)); # to get intersects of groups to conjugacy class containing the desired rotation grpact:=(2,3,6,7,4)(5,9,12,10,8); # one permutation of the intersect of the 7th group repop70:=RepresentativeAction(s12,grpact,normact); # to get the desired conjugator cgroup70:=iisos12[7]^repop70; # to get the desired conjugated group # normact in cgroup70; the desired rotation is finally in the resulting group # true My question to you is: Is there a more direct method for doing the above? Thank you, friendly greetings from Vienna, Rudolf Zlabinger From lars at public.noschinski.de Sun May 7 19:20:14 2006 From: lars at public.noschinski.de (Lars Noschinski) Date: Sun May 7 19:21:52 2006 Subject: [GAP Forum] Creating a collection? Message-ID: <20060507182014.GA12254@lars.home.noschinski.de> Hello! I'm trying to build a set of all mappings between to arbitrary sets. I tried to create the individual mappings with GeneralMappingByElements, made a list of tuples, but I don't know how to create a collection from this list, so I can feed it to GeneralMappingsByElements. Maybe there is also a more direct way? From thomas.breuer at math.rwth-aachen.de Mon May 8 08:42:09 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Mon May 8 08:42:23 2006 Subject: [GAP Forum] Ikosaeder group In-Reply-To: <004801c670ea$2dab5860$eec57254@chello.at> References: <004801c670ea$2dab5860$eec57254@chello.at> Message-ID: <20060508074209.GA2795@math.rwth-aachen.de> Dear GAP Forum, Rudolf Zlabinger wrote > I dealt with the finite rotation group for the ikosaeder. > > My task was to find a permutation group acting on the 12 vertices of > ikosaeder recognizing a special numbering of the vertices as such: look at > the ikosaeder from a top vertex, numbered as 1, then on the 2 x 5 vertices > forming 2 somehow parallel cycles numbered by 2,3,4,5,6 and 7,8,9,10,11, > followed by the bottom vertex numbered by 12. Thus the permutation group > looked for should contain the rotation around the axis 1,12 executed by the > permutation > (2,3,4,5,6)(7,8,9,10,11). > > Unfortunately the representative isomorphism Groups of symmetric group 12 > itself did not contain the desired rotation, so I had to look for a > conjugate group of them containing it. I for the first glance found no > direct method for doing that, so I used the following sequence: > [...] Perhaps the most explicit way to deal with the symmetries of a regular icosahedron is to start from a three dimensional model for it. Following the description on p. 2 of the Atlas Of Finite groups, the vertices have the coordinates $(0, \pm b, \pm 1)^C$ where $b = ( 1 + \sqrt{5} ) / 2$ and the superscript $C$ denotes cyclic permutation of the coordinates. In GAP, we can write down symmetries of the isosahedron by the following matrices. b:= -E(5)^2-E(5)^3; mat1:= [ [ 0, 1, 0 ], # permutation of coordinates [ 0, 0, 1 ], [ 1, 0, 0 ] ];; mat2:= 1/2 * [ [ b-1, 1, -b ], # order 5 rotation [ -1, b, b-1 ], [ b, b-1, 1 ] ];; The permutation action on the twelve vertices can be obtained as follows. p1:= [ 0, b, 1 ]; # one vertex g:= Group( mat1, mat2 ); vertices:= Set( Orbit( g, p1 ) ); act:= Action( g, vertices ); And now one can play with the groups. IsPrimitive( g, vertices ); # no bl:= Blocks( g, vertices );; bl[1]; # opposite vertices form a block act2:= Action( g, bl, OnSets ); # an action on six points All the best, Thomas P.S.: Here is a LaTeX picture of the icosahedron. \documentclass{article} \usepackage{epic} \begin{document} \setlength\unitlength{0.4mm} \begin{picture}(200,220)(-50,-100) \thicklines % foreground \begin{drawjoin} % outer circle \jput(57,-72){} % P_1 \jput(91,13){} % P_7 \jput(34.5,85){} % P_9 \jput(-57,72){} % P_3 \jput(-91,-13){} % P_5 \jput(-34.5,-85){} % P_{11} \jput(57,-72){} % P_1 % inner circles \jput(57,7.5){} % P_2 \jput(34.5,85){} % P_9 \jput(-34.5,45){} % P_{10} \jput(-91,-13){} % P_5 \jput(-21,-52){} % P_6 \jput(57,-72){} % P_1 \end{drawjoin} \begin{drawjoin} \jput(-21,-52){} % P_6 \jput(57,7.5){} % P_2 \jput(-34.5,45){} % P_{10} \jput(-21,-52){} % P_6 \end{drawjoin} % remaining lines \drawline(-21,-52)(-34.5,-85) % P_6 to P_{11} \drawline(57,7.5)(91,13) % P_2 to P_7 \drawline(-34.5,45)(-57,72) % P_{10} to P_3 % background \begin{dottedjoin}{3} % inner circles \jput( 34.5, -45){} % P_{12} \jput( 91, 13){} % P_7 \jput( 21, 52){} % P_8 \jput( -57, 72){} % P_3 \jput( -57,-7.5){} % P_4 \jput(-34.5, -85){} % P_{11} \jput( 34.5, -45){} % P_{12} \jput( 21, 52){} % P_8 \jput( -57,-7.5){} % P_4 \jput( 34.5, -45){} % P_{12} \jput( 57, -72){} % P_1 \end{dottedjoin} % remaining lines \dottedline{3}(-91,-13)(-57,-7.5) % P_5 to P_4 \dottedline{3}(21,52)(34.5,85) % P_8 to P_9 \end{picture}\ \begin{picture}(200,220)(-50,-100) \thicklines % axes \drawline(-87,-50)(87,50) \put(-92,-55){\makebox(0,0){$x$}} \put(-87,-50){\vector(-2,-1){0}} \drawline(-87,50)(87,-50) \put(92,-55){\makebox(0,0){$y$}} \put(87,-50){\vector(2,-1){0}} \put(0,-100){\vector(0,1){200}} \put(0,105){\makebox(0,0){$z$}} % circles at points \put( 57, -72){\circle{3}} \put( 57, 7.5){\circle{3}} \put( -57, 72){\circle{3}} \put( -57,-7.5){\circle{3}} \put( -91, -13){\circle{3}} \put( -21, -52){\circle{3}} \put( 91, 13){\circle{3}} \put( 21, 52){\circle{3}} \put( 34.5, 85){\circle{3}} \put(-34.5, 45){\circle{3}} \put(-34.5, -85){\circle{3}} \put( 34.5, -45){\circle{3}} % point names \put( 64, -79){\makebox(0,0){$1$}} \put( 64, 12.5){\makebox(0,0){$2$}} \put( -64, 79){\makebox(0,0){$3$}} \put( -64,-12.5){\makebox(0,0){$4$}} \put( -98, -14){\makebox(0,0){$5$}} \put( -20, -60){\makebox(0,0){$6$}} \put( 98, 14){\makebox(0,0){$7$}} \put( 20, 60){\makebox(0,0){$8$}} \put( 41.5, 91){\makebox(0,0){$9$}} \put(-43.5, 47){\makebox(0,0){$10$}} \put(-41.5, -91){\makebox(0,0){$11$}} \put( 43.5, -47){\makebox(0,0){$12$}} % join points in a plane \begin{dottedjoin}{3} \jput(-91,-13){} % P_5 \jput(-21,-52){} % P_6 \jput(91,13){} % P_7 \jput(21,52){} % P_8 \jput(-91,-13){} % P_5 \end{dottedjoin} \begin{dottedjoin}{3} \jput(57,-72){} % P_1 \jput(57,7.5){} % P_2 \jput(-57,72){} % P_3 \jput(-57,-7.5){} % P_4 \jput(57,-72){} % P_1 \end{dottedjoin} \begin{dottedjoin}{3} \jput(34.5,85){} % P_9 \jput(-34.5,45){} % P_{10} \jput(-34.5,-85){} % P_{11} \jput(34.5,-45){} % P_{12} \jput(34.5,85){} % P_9 \end{dottedjoin} \end{picture} \end{document} From joachim.s at web.de Mon May 8 09:18:33 2006 From: joachim.s at web.de (Joachim Schittenhelm) Date: Mon May 8 09:19:26 2006 Subject: [GAP Forum] Fields & Polynomials Message-ID: <445EFED9.7080302@web.de> Dear Forum, with given F=GF(q) and an irreducible polynomial f over F of degree n, how can i create the field of polynomials over F of degree at most n-1 that is isomorphic to GF(q^n). Greetings Joachim Schittenhelm From dfh at maths.warwick.ac.uk Mon May 8 15:31:25 2006 From: dfh at maths.warwick.ac.uk (Derek Holt) Date: Mon May 8 15:31:43 2006 Subject: [GAP Forum] Ac ceptance of the HAP package Message-ID: <20060508143125.GA3799@maths.warwick.ac.uk> Dear GAP Forum, I announce, with great pleasure, that the HAP package, by Graham Ellis, has been accepted as a refereed GAP package and is available for download from the GAP Web site, or from the authors Web page at http://hamilton.nuigalway.ie/Hap/www/ The following description and example of the functionality of the package is taken form that site. HAP is a homological algebra library for use with the GAP computer algebra system, and is still under development. Its initial focus is on computations related to the cohomology of groups. Both finite and infinite groups are handled, with main emphasis on integer coefficients. HAP can be used to make basic calculations in the cohomology of finite and infinite groups. For example, to calculate the integral homology Hn(D201,Z) of the dihedral group of order 402 in dimension n=99 we could perform the following commands. gap> F:=FreeGroup(2);; x:=F.1;; y:=F.2;; gap> G:=F/[x^2,y^201,(x*y)^2];; G:=Image(IsomorphismPermGroup(G));; gap> GroupHomology(G,99); [ 2, 3, 67 ] gap> time; 11918 Derek Holt. From Rudolf.Zlabinger at chello.at Tue May 9 13:31:00 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue May 9 13:22:47 2006 Subject: [GAP Forum] Numberings of Ikosaeders vertices Message-ID: <001001c67364$6defe540$eec57254@chello.at> Dear Thomas Breuer, Thank you at least for the hint to ATLAS, but also for the rich material given. To introduce Ikosaeder itself as group only its suffficient to begin with A5, it can be mirrored, as desired, to a 12 point permutation group by Isomorphic Subgroups to s12. My question mainly was, as there is a direct method to find out a group out of isomophic subgroups from A5 to S12, containing a special permutation. In our case it was the permutation (2,3,4,5,6)(7,8,9,10,11). I expected intuitively, that such a group recognizes a special numbering of the vertices of Ikosaeder. More general: As the action of all possible numberings, that is S12 in our case, on a starting set of one representative group for each conjugacy class of groups (isomorphic to A5 in our case) is injective, one can expect, that there is one group for each conjugacy class fitting to a special numbering. But in using numberings of vertices only, there is the problem to uniquely describe this numbering formally up to a selection of a starter set of groups belonging to a initial numbering, that has to be induced intuitively from outside the formalism, as to, for example, requesting the inclusion of special permutations in the starter group(s) (see above). I didnt explore yet, whether the reverse does hold, in order to have a unique description of a special numbering itself by the groups selected, because this relation above seems not to be bijective. That is, one group out of a conjugacy class may not uniquely describe a special numbering, but a distinct manyfold of numberings. In this case one had to look, what manyfold it is, maybe it is determined as a structure quite well, and maybe the numbering is uniquely determined by the full set of the selected groups, one group per conjugacy class. I will try to explore this myself as an exercise, perhaps this problem reveales to be trivial at all. So the method given by you (out of ATLAS) has the advantage of uniquely describing the vertices by vectors, independent from a selected group representation. Thank you, and best regards, Rudolf Zlabinger From mckay at encs.concordia.ca Tue May 9 14:38:44 2006 From: mckay at encs.concordia.ca (MCKAY john) Date: Tue May 9 14:38:57 2006 Subject: [GAP Forum] Numberings of Ikosaeders vertices In-Reply-To: <001001c67364$6defe540$eec57254@chello.at> References: <001001c67364$6defe540$eec57254@chello.at> Message-ID: May I put in a word? I have worked with the groups: [a,b,c] = 1/a+1/b+1/c > 1. These are finite subgps of SO3. [a,b,c] is the icosahedral group = dodecahedral group. use the flags. One has a vertex incident with an edge incident with a face. The operations x,y,z fix each of these. For your icosahedron we have [2,3,5]. You can make a dodecahedron by constructing a pentagon (fold a strip of paper) and five others adjacent to it. Repeat for the other half. Put them on top of each other with corners alternating and an elastic band round them. You can easily number vertices, edges, and faces. V-E+F=2 30-20+12=2. Unlike the symmetric group, as you say, here we have two choices for the element of order 5. Take either z or z^2 of order 5 and they are in distinct conjugacy classes in [2,3,5]. Good luck! By the way, the figures in stone were known to late neolithic man in Scotland (Skara Brae) thousands of years before Plato. John McKay On Tue, 9 May 2006, Rudolf Zlabinger wrote: > Dear Thomas Breuer, > > Thank you at least for the hint to ATLAS, but also for the rich material > given. > > To introduce Ikosaeder itself as group only its suffficient to begin with > A5, it can be mirrored, as desired, to a 12 point permutation group by > Isomorphic Subgroups to s12. > > My question mainly was, as there is a direct method to find out a group out > of isomophic subgroups from A5 to S12, containing a special permutation. In > our case it was the permutation (2,3,4,5,6)(7,8,9,10,11). I expected > intuitively, that such a group recognizes a special numbering of the > vertices of Ikosaeder. > > More general: As the action of all possible numberings, that is S12 in our > case, on a starting set of one representative group for each conjugacy > class of groups (isomorphic to A5 in our case) is injective, one can expect, > that there is one group for each conjugacy class fitting to a special > numbering. > > But in using numberings of vertices only, there is the problem to uniquely > describe this numbering formally up to a selection of a starter set of > groups belonging to a initial numbering, that has to be induced intuitively > from outside the formalism, as to, for example, requesting the inclusion of > special permutations in the starter group(s) (see above). > > I didnt explore yet, whether the reverse does hold, in order to have a > unique description of a special numbering itself by the groups selected, > because this relation above seems not to be bijective. That is, one group > out of a conjugacy class may not uniquely describe a special numbering, but > a distinct manyfold of numberings. In this case one had to look, what > manyfold it is, maybe it is determined as a structure quite well, and maybe > the numbering is uniquely determined by the full set of the selected groups, > one group per conjugacy class. I will try to explore this myself as an > exercise, perhaps this problem reveales to be trivial at all. > > So the method given by you (out of ATLAS) has the advantage of uniquely > describing the vertices by vectors, independent from a selected group > representation. > > Thank you, and best regards, Rudolf Zlabinger > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Rudolf.Zlabinger at chello.at Tue May 9 16:31:37 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue May 9 16:23:25 2006 Subject: [GAP Forum] Indexing of Ikosaedrons vertices References: <001001c67364$6defe540$eec57254@chello.at> Message-ID: <003201c6737d$a9910e80$eec57254@chello.at> Dear MCKAY john, Thank you for your hint to the finite rotation groups, you are right, the icosahedron (dodecahedron) has 3 pole classes, with 2,3,5 cycle rotations, resulting in 30,20,12 cosets. My theoretical problem was, to translate this structure to mere permutation representations. Distributing numbers 1 to 12 to the vertices has to some degree influence to the selection of distinct permutation groups representing the icosahedron indexed by these numbers. As in our example indexing the icosahedrons vertices from top to down as 1, (2,3,4,5,6),(7,8,9,10,11), 12 lead to the request, that a representing group has to contain the permutation (2,3,4,5,6)(7,8,9,10,11) as the rotation around the axis 1,12. The problem is, that there is no formal way to describe a special indexing of the vertices, as to do it intuitively as above. So i am looking for a method to derive the indexing(s) from the selected permutation group(s) in reverse order if this is possible. One way to do it is to derive the vertex indices from one of the 5 cycles, taking the 2 missing points (vertices) as axis. This results in 4 different possible kinds of indexing the vertices, these are the 5 cycle permutation ^ 1,2,3,4. In this way, the indexing is (partially) determined and described by a selected special permutation group. Thank you so far, best wishes, Rudolf Zlabinger ----- Original Message ----- From: "MCKAY john" To: "Rudolf Zlabinger" Cc: "Thomas Breuer" ; Sent: Tuesday, May 09, 2006 3:38 PM Subject: Re: [GAP Forum] Numberings of Ikosaeders vertices May I put in a word? I have worked with the groups: [a,b,c] = 1/a+1/b+1/c > 1. These are finite subgps of SO3. [a,b,c] is the icosahedral group = dodecahedral group. use the flags. One has a vertex incident with an edge incident with a face. The operations x,y,z fix each of these. For your icosahedron we have [2,3,5]. You can make a dodecahedron by constructing a pentagon (fold a strip of paper) and five others adjacent to it. Repeat for the other half. Put them on top of each other with corners alternating and an elastic band round them. You can easily number vertices, edges, and faces. V-E+F=2 30-20+12=2. Unlike the symmetric group, as you say, here we have two choices for the element of order 5. Take either z or z^2 of order 5 and they are in distinct conjugacy classes in [2,3,5]. Good luck! By the way, the figures in stone were known to late neolithic man in Scotland (Skara Brae) thousands of years before Plato. John McKay On Tue, 9 May 2006, Rudolf Zlabinger wrote: > Dear Thomas Breuer, > > Thank you at least for the hint to ATLAS, but also for the rich material > given. > > To introduce Ikosaeder itself as group only its suffficient to begin with > A5, it can be mirrored, as desired, to a 12 point permutation group by > Isomorphic Subgroups to s12. > > My question mainly was, as there is a direct method to find out a group out > of isomophic subgroups from A5 to S12, containing a special permutation. In > our case it was the permutation (2,3,4,5,6)(7,8,9,10,11). I expected > intuitively, that such a group recognizes a special numbering of the > vertices of Ikosaeder. > > More general: As the action of all possible numberings, that is S12 in our > case, on a starting set of one representative group for each conjugacy > class of groups (isomorphic to A5 in our case) is injective, one can expect, > that there is one group for each conjugacy class fitting to a special > numbering. > > But in using numberings of vertices only, there is the problem to uniquely > describe this numbering formally up to a selection of a starter set of > groups belonging to a initial numbering, that has to be induced intuitively > from outside the formalism, as to, for example, requesting the inclusion of > special permutations in the starter group(s) (see above). > > I didnt explore yet, whether the reverse does hold, in order to have a > unique description of a special numbering itself by the groups selected, > because this relation above seems not to be bijective. That is, one group > out of a conjugacy class may not uniquely describe a special numbering, but > a distinct manyfold of numberings. In this case one had to look, what > manyfold it is, maybe it is determined as a structure quite well, and maybe > the numbering is uniquely determined by the full set of the selected groups, > one group per conjugacy class. I will try to explore this myself as an > exercise, perhaps this problem reveales to be trivial at all. > > So the method given by you (out of ATLAS) has the advantage of uniquely > describing the vertices by vectors, independent from a selected group > representation. > > Thank you, and best regards, Rudolf Zlabinger > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From aldoc9 at mate.dm.uba.ar Wed May 10 03:00:28 2006 From: aldoc9 at mate.dm.uba.ar (Mariano Suarez-Alvarez) Date: Wed May 10 10:14:21 2006 Subject: [GAP Forum] Indexing of Ikosaedrons vertices In-Reply-To: <003201c6737d$a9910e80$eec57254@chello.at> Message-ID: On Tue, 9 May 2006, Rudolf Zlabinger wrote: > Dear MCKAY john, > > Thank you for your hint to the finite rotation groups, you are right, the > icosahedron (dodecahedron) has 3 pole classes, with 2,3,5 cycle rotations, > resulting in 30,20,12 cosets. > > My theoretical problem was, to translate this structure to mere permutation > representations. Distributing numbers 1 to 12 to the vertices has to some > degree influence to the selection of distinct permutation groups > representing the icosahedron indexed by these numbers. > > As in our example indexing the icosahedrons vertices from top to down as 1, > (2,3,4,5,6),(7,8,9,10,11), 12 lead to the request, that a representing group > has to contain the permutation (2,3,4,5,6)(7,8,9,10,11) as the rotation > around the axis 1,12. > > The problem is, that there is no formal way to describe a special indexing > of the vertices, as to do it intuitively as above. So i am looking for a > method to derive the indexing(s) from the selected permutation group(s) in > reverse order if this is possible. There is a very nice indexing of the vertices which very nicely interacts with the symmetry group, constructed as follows. One can partition, in exactly two ways, the vertices of the icosahedron in five sets of four vertices each, in such a way that each such subset is the set of vertices of a regular tetrahedron. Moreover, the two different partitions are related by a central inversion. Call the partitions A and B. Label each of the tetrahedra in partition A with 1, 2, 3, 4 and 5. Label also each tetrahedron in the B partition with the label of the corresponding tetrahedron in partition A (under inversion). Finally, label each vertex v in the icosahedron with the pair (i,j) with i (respectively j) being the label of the tetrahedron in the A partition (respectively, in the B partition) to which v belongs. Each vertex thus gets labeled and all the labels are different. It is very easy to see that A_5 acts on the set of vertices permuting the pairs of labels (i,j) coordinate-wise. Moreover, the vertex (i,j) is the antipode of (j,i). One can work out the combinatorial structure (incidence, flags, etc) of the solid from this labeling in a nice way. (Btw, I'd love to have a nice formula for the coordinate of the vertex (i,j) from i and j.) This construction is explained by Coxeter in his `Regular polytopes'; if I recall correctly, he provides no reference, so I guess he came up with the idea. The configuration of the tetrahedra is a bit difficult to visualize for most of us who are not Coxeter. There is a Mathematica notebook which constructs it at ; if you have Geomview available, you can play with the picture a little more comfortably. For maximal fun, you can construct the whole thing out of paper (no cuts, no glue...); it has quite a surprisng bewitching effect on people (both mathematicians and regular people). There's a pic of one of my attempts at building it at , and you can find instructions on how to build it by googling for "five intersecting tetrahedra"---you can even feel lucky about it. Cheers, -- m -- ------------------------------------------------------------------------------ Mariano Su?rez-Alvarez Departamento de Matem?tica Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires Ciudad Universitaria, Pabell?n I. Buenos Aires (1428). Argentina. http://mate.dm.uba.ar/~aldoc9 Pienso en efecto que, salvo si se cree en milagros, s?lo cabe esperar el progreso de la raz?n de una acci?n pol?tica racionalmente orientada hacia la defensa de las condiciones sociales del ejercicio de la raz?n, de una movilizaci?n permanente de todos los productores culturales con el prop?sito de defender, mediante intervenciones continuadas y modestas, las bases intelectuales de la actividad intelectual. Todo proyecto de desarrollo del esp?ritu humano que, olvidando el arraigo hist?rico de la raz?n, cuente con la ?nica fuerza de la raz?n y de la pr?dica racional para hacer progresar las causas de la raz?n, y que no apele a la lucha pol?tica para tratar de dotar a la raz?n y a la libertdad de los intrumentos propiamente pol?ticos que constituyen la condici?n de su realizaci?n en la hist?ria, contin?a todav?a prisionero de la ilusi?n escol?stica. Pierre Bourdieu, Le point de vue scolastique, ``Raisons pratiques. Sur la th?orie de l'action''. Points, vol. 331. Par?s: ?ditions du Seuil, 1994. ------------------------------------------------------------------------------ From Rudolf.Zlabinger at chello.at Fri May 12 01:45:35 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri May 12 01:37:27 2006 Subject: [GAP Forum] Ikosahedron exercises Message-ID: <000901c6755d$61d9a660$eec57254@chello.at> Dear Gap Froum, as i made my exercises on icosahedron, I will publish the results in case, that you want to make use of them. As I can not fully guarant for correctnes, please feel free, to send comments, especially in the case, there is an error, syntactically, or in the content itself. My first question was, to produce a list of groups isomorphic to a5 containing a specific permutation, acting on 12 points. The second question was, to produce groups handling a specific distribution of numbers 1..12 to the vertices of an icosahedron, I will name it labelling set. The third question was, how many labelling sets a specific group can handle, with other words how to describe a set of labelling sets by selecting a specific group. 0. Preparation: Find a group containing the specific permutation, both acting on 12 points. ikosaeder_5:=AlternatingSubgroup(SymmetricGroup(5)); s12:=SymmetricGroup(12); normact:=(2,3,4,5,6)(7,8,9,10,11);; # the desired rotation, e.g. the specific permutation ccnormact:=ConjugacyClass(s12,normact); # the conjugacyclass containing the rotation isos12:=IsomorphicSubgroups(s12,ikosaeder_5); # to mirror ikosaeder_5 to permgroups acting on 12 points iisos12:=List(isos12,c->Image(c)); # to get groups selected_group:=First(iisos12,c->(NrMovedPoints(c)=12)); # First group with desired Nr of moved points = 12 enumgroup:=Enumerator(selected_group); # to prepare for efficiency intersect:=Intersection(enumgroup,ccnormact); # to get intersect of group to conjugacy class containing the desired rotation grpact:=First(intersect,c->(Order(c)=5)); # one permutation of the intersect of the selected group with order 5 repop:=RepresentativeAction(s12,grpact,normact); # to get the desired conjugator cgroup:=selected_group^repop; # to get the desired conjugated group normact in cgroup; true # the desired rotation is finally in the resulting group 1. Produce a list of groups isomorphic to A5 containing a specific permutation, acting on 12 points. (Yet unsolved by me: is that list complete? Are there more groups containing the specific permutation?) The request is to select the permutations out of S12, that leave a group generated by the specific permutation fixed, beeing the normalizer of that generated group. gap> normgrp:=Group([normact]);; # the group generated by the specific permutation gap> normalizer:=Normalizer(s12,normgrp); # the normalizer group leaving the above group fixed Group([ (2,3,4,5,6)(7,8,9,10,11), (7,8,9,10,11), (1,12)(7,8,9,10,11), (3,6)(4,5)(7,11)(8,10), (3,5,6,4)(7,10,9,11), (2,7,6,8,5,9,4,10,3,11) ]) gap> Size(normalizer); 400 gap> orbcgroup:=Orbit(normalizer,cgroup); # some (or all?) groups containing this specific permutation generated by one group containing it [ Group([ (1,2,3)(4,6,5)(7,8,12)(9,11,10), (1,2)(3,6)(7,12)(8,11) ]), Group([ (1,2,3)(4,6,5)(7,11,10)(8,9,12), (1,2)(3,6)(7,9)(8,12) ]), Group([ (1,2,3)(4,6,5)(7,11,8)(9,10,12), (1,2)(3,6)(8,10)(9,12) ]), Group([ (1,2,3)(4,6,5)(7,9,8)(10,11,12), (1,2)(3,6)(9,11)(10,12) ]), Group([ (1,2,3)(4,6,5)(7,12,11)(8,10,9), (1,2)(3,6)(7,10)(11,12) ]), Group([ (1,7,8)(2,3,12)(4,6,5)(9,11,10), (1,7)(2,12)(3,6)(8,11) ]), Group([ (1,8,9)(2,3,12)(4,6,5)(7,11,10), (1,8)(2,12)(3,6)(7,9) ]), Group([ (1,9,10)(2,3,12)(4,6,5)(7,11,8), (1,9)(2,12)(3,6)(8,10) ]), Group([ (1,10,11)(2,3,12)(4,6,5)(7,9,8), (1,10)(2,12)(3,6)(9,11) ]), Group([ (1,11,7)(2,3,12)(4,6,5)(8,10,9), (1,11)(2,12)(3,6)(7,10) ]) ] gap> Length(orbcgroup); 10 gap> List(orbcgroup,c->(normact in c)); [ true, true, true, true, true, true, true, true, true, true ] 2. Produce a group handling a specific distribution of numbers 1..12 to the vertices of an icosahedron Having a blueprint in mind of icosahedron, there is a top vertex, two pentagons one on top of another, the second pentagon rotated by 36 degrees clockwise against the first one, and a bottom vertex. As we label the top vertex by 1, the two pentagons by 2,3,4,5,6 and 7,8,9,10,11 clockwise looking in bottom direction respectively and the bottom vertex by 12, we have following picture: The respective opposite vertices are: (1,12), (2,9), (3,10), (4,11), (5,7), (6,8). The edges are: (1,2),(1,3),(1,4),(1,5),(1,6), from the top vertex to first pentagon (12,7),(12,8)(12,9)(12,10)(12,11) from the bottom vertex to second pentagon (2,3)(3,4)(4,5)(5,6)(6,2) the top pentagon (7,8)(8,9)(9,10)(10,11)(11,7) the bottom pentagon (2,11)(2,7)(3,7)(3,8)(4,8)(4,9)(5,9)(5,10)(6,10)(6,11) between the pentagons This blueprint is induced from outside the formalism, and is to be considered as starting point only, the rest ist handled by group theory. The next step is to find a permutation of order 3 and of order 5 leaving this blueprint fixed and thus generating A5: (I developed a Excel Map containing this blueprint as an andjacent matrix fixed by 2,3,5 cycle permutation matrices) (2,3,4,5,6)(7,8,9,10,11) is the 5 cycle (1,2,3)(7,4,6)(12,9,10)(5,11,8) is the 3 cycle (is somewhat hard to construct that in mind only) gap> normact_5:=(2,3,4,5,6)(7,8,9,10,11); (2,3,4,5,6)(7,8,9,10,11) gap> normact_3:=(1,2,3)(7,4,6)(12,9,10)(5,11,8); (1,2,3)(4,6,7)(5,11,8)(9,10,12) gap> group10:=Group(normact_5,normact_3); Group([ (2,3,4,5,6)(7,8,9,10,11), (1,2,3)(4,6,7)(5,11,8)(9,10,12) ]) gap> StructureDescription(group10); "A5 3. How many labelling sets a specific group can handle, with other words how to describe a set of labelling sets by selecting a specific group. gap> nrmoved:=List(iisos12,c->NrMovedPoints(c)); # These are the number of moved points for each conjugacy class # by a representative group of the isomorphic subgroups from A5 to S12 [ 5, 6, 10, 10, 11, 12, 12 ] gap> sizenorm:=List(iisos12,c->Size(Normalizer(s12,c))); # The normalizer tells us by size how many labelling sets leave # each group by conjugacy class fixed. # The sets of labellings sets forms S12 [ 604800, 86400, 480, 240, 120, 240, 240 ] So the normalizer sizes tells us, how many labelling sets a group of a conjugacy class can handle, and thus describe the labelling sets to some degree inside the formalism. That is, for example, for the conjugacy classes moving 12 points, a group can handle 240 different distinct labelling sets, a group moving 11 points only 120. It woud be an extra task to enumerate, what labelling sets these are on the blueprint. The advantage of this construction is, that you can directly transfer the (rotation) permutations to a solid model of icosahedron. Best regards, Rudolf Zlabinger From dn2447 at yahoo.com Fri May 12 04:33:38 2006 From: dn2447 at yahoo.com (D N) Date: Fri May 12 04:34:07 2006 Subject: [GAP Forum] A question about matrices Message-ID: <20060512033338.48453.qmail@web37406.mail.mud.yahoo.com> Dear GAP Forum, Suppose A and B are two square matrices of the same dimension (say 1000). Is there an efficient way to check whether A = PBP^t for some permutation matrix P (P^t = transpose of P). Thanks, Deepak Naidu --------------------------------- Blab-away for as little as 1?/min. Make PC-to-Phone Calls using Yahoo! Messenger with Voice. From dima at ntu.edu.sg Fri May 12 06:42:24 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Fri May 12 06:42:33 2006 Subject: [GAP Forum] A question about matrices In-Reply-To: <20060512033338.48453.qmail@web37406.mail.mud.yahoo.com> Message-ID: Dear Forum, this is edge-weighted graph isomorphism problem, so no efficient (polynomial-time wrt dimension) procedure is known, at all. One can convert the problem into finding an isomorphism between two vertex-weighted graphs, by constructing line graphs of A and B and using GRAPE's IsIsomorphicGraph function. canonicalLabelling can then be used to recover P, if needed. On 5/12/06 11:33 AM, "D N" wrote: > Suppose A and B are two square matrices of the same dimension (say 1000). Is > there an efficient way to check whether A = PBP^t > for some permutation matrix P (P^t = transpose of P). > > Thanks, > Deepak Naidu -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From jmichel at math.jussieu.fr Fri May 12 10:22:23 2006 From: jmichel at math.jussieu.fr (Jean Michel) Date: Fri May 12 10:22:33 2006 Subject: [GAP Forum] A question about matrices In-Reply-To: <20060512033338.48453.qmail@web37406.mail.mud.yahoo.com> References: <20060512033338.48453.qmail@web37406.mail.mud.yahoo.com> Message-ID: <20060512092223.GA842@math.jussieu.fr> On Thu, May 11, 2006 at 08:33:38PM -0700, D N wrote: > Suppose A and B are two square matrices of the same dimension (say 1000). Is there an efficient way to check whether A = PBP^t > for some permutation matrix P (P^t = transpose of P). I have had a need to solve exactly that problem. 1000x1000 is very large, especially if the matrices have a large stabilizer in the permutation group, but I have had success with the heuristic routine below (the main new idea in PermMatMat is DistHelpedRepresentativeOperation) ############################################################################# ## #A matrix.g CHEVIE library Jean Michel ## #Y Copyright (C) 2002 - 2006 University Paris VII. ## ## This file contains routines which augment the capabilities of GAP3 ## in mainpulating matrices developed during the writing of Chevie. ## These routines should be in some other part of the GAP library, as ## they are not specific to Chevie ## ############################################################################# ## #F DecomposedMat( ) . . . . . . . . . Find if the square matrix M #F admits a block decomposition. ## ## Define a graph G with vertices [1..Length(M)] and with an edge ## between i and j if either M[i][j] or M[j][i] is non-zero. ## DecomposedMat return a list of lists l such that l[1],l[2], etc.. ## are the vertices in each connected component of G. In other words, ## M{l[1]}{l[1]},M{l[2]}{l[2]},etc... are blocks of M. ## DecomposedMat:=function(M) local l, i, j, k, cl, ci, cj, erg; l:=Length(M); # cl contains numbers for the equivalence classes, first # each element forms a class: cl:=[1..l]; for i in [1..l] do for j in [i+1..l] do # if new relation i~j and classes are different then join classes: if (M[i][j]<>0 or M[j][i]<>0) and cl[i]<>cl[j] then ci:=cl[i]; cj:=cl[j]; for k in [1..l] do if cl[k]=cj then cl[k]:=ci; fi; od; fi; od; od; # extract the classes from information in cl: erg:=[]; for i in [1..l] do if IsBound(erg[cl[i]]) then AddSet(erg[cl[i]],i); else erg[cl[i]]:=[i]; fi; od; return Set(erg); end; ############################################################################# ## #F IsLowerTriangularMat( ) . . . . . true iff is lower triangular ## IsLowerTriangularMat:=function(M)local n;n:=Length(M); return ForAll([1..n-1],i->ForAll([i+1..n],j->M[i][j]=0*M[i][j])); end; ############################################################################# ## #F IsDiagonalMat( ) . . . . . . . . . . . . true if is diagonal ## IsDiagonalMat:=function(M)local i, j; for i in [1..Length(M)] do for j in [1..Length(M[1])] do if i<>j and M[i][j]<>0*M[i][j] then return false;fi; od; od; return true; end; ############################################################################# ## #F DiagonalMat( ,..., ) diagonal block-matrix ## ## returns the block diagonal matrix with diagonal entries ## ... ## m_i may be rectangular or empty; blocks of size 1x1 may be given as scalars ## DiagonalMat( ) where v is a list of scalars is like DiagonalMat(v1,..vn) ## DiagonalMat:=function(arg)local res,fr,fc,r,c,m; if Length(arg)=1 and IsList(arg[1]) and Length(arg[1])>0 and not IsList(arg[1][1]) then arg:=arg[1];fi; fr:=function(m)if IsMat(m) then return Length(m);else return 1;fi;end; fc:=function(m)if not IsMat(m) then return 1; elif Length(m)=0 then return 0; else return Length(m[1]);fi;end; res:=NullMat(Sum(arg,fr),Sum(arg,fc)); r:=0;c:=0; for m in arg do if IsMat(m) then res{r+[1..fr(m)]}{c+[1..fc(m)]}:=m; else res[r+1][c+1]:=m;fi; r:=r+fr(m);c:=c+fc(m); od; return res; end; ############################################################################# ## #F IsNormalizing( , ) . . . . . . . true if matrix lets #F set of vectors invariant ## IsNormalizing:=function(l,M) return Set(l*M)=Set(l); end; ############################################################################ # EigenvaluesMat: eigenvalues of a square matrix over the cyclotomics # whose eigenvalues are roots of unity or 0. false is returned for other # matrices. # EigenvaluesMat:=function(mat)local p; p:=CycPol(CharacteristicPolynomial(mat)); if not IsCyc(p.coeff) then return false;fi; return Concatenation(List(p.vcyc,x->List([1..x[2]],i-> E(Denominator(x[1]))^Numerator(x[1])))); end; ############################################################################ # # ExteriorPower(A,m) . . returns the m-th exterior power of square matrix m # ExteriorPower:=function(A,m) local comb; comb:=Combinations([1..Length(A)],m); return List(comb,i->List(comb,j->DeterminantMat(A{i}{j}))); end; ############################################################################# ## #F KroneckerMatrix( [, [,...]]) . . . . . . like 'KroneckerProduct', #F but works with arbitrary number of arguments ## KroneckerMatrix:=function(arg) local res, i; res:=arg[1]; for i in [2..Length(arg)] do res:=MatricesOps.KroneckerProduct(res,arg[i]); od; return res; end; ############################################################################# ## #F ProportionalityCoefficient( , ) . . . . . . 'v/w' #F v and w are vectors. Returns scalar l such that v=l*w if such ## exists, false otherwise. ## ProportionalityCoefficient:=function(v,w)local i; i:=PositionProperty(w,x->x<>0); if i=false then if w=v then return 0;else return false;fi;fi; i:=v[i]/w[i]; if v<>w*i then return false;fi; return i; end; ############################################################################# ## #F RepresentativeDiagonalConjugations(M,N) . . tests if square matrices # M and N are conjugate by a diagonal matrix # # find a diagonal matrix D=DiagonalMat(d=[1,d2,..,dn]) such that N=M^D # thus N[i][j]=M[i][j]*d[j]/d[i] # RepresentativeDiagonalConjugation:=function(M,N)local d,n,i,j,c; d:=M[1]*0;d[1]:=1;n:=Length(M); for i in [1..n] do for j in [i+1..n] do # Print("i=",i," j=",j," d=",d,"\n"); if M[i][j]<>0 then if N[i][j]=0 then return false;fi; if d[i]<>0 then c:=d[i]*N[i][j]/M[i][j]; if d[j]<>0 then if c<>d[j] then return false;fi; else d[j]:=c; fi; fi; fi; od; od; if 0 in d then return false;fi; if N<>M^DiagonalMat(d) then return false;fi; return d; end; ############################################################################# ## #F OnMatrices(M,p) . . . Simultaneaous action on rows and columns of a # permutation p on the square matrix M # OnMatrices:=function(M,p)return Permuted(List(M,y->Permuted(y,p)),p);end; ############################################################################# ## # MatStab([g,]M[,extra]) . . . . . stabilizer of square matrix M # # If given returns stabilizer in subgroup g of Symmetricgroup(Length(M)) # If vector given returns group stabilizing also # MatStab:=function(arg)local stab,M,g,r,l,I,p,s,k,n,i,j,e,inds; if IsGroup(arg[1]) then g:=arg[1];arg:=arg{[2..Length(arg)]};fi; M:=arg[1];k:=Length(M); inds:=function(I)local iM; iM:=List(I,function(i)local res; res:=[Collected(M[i]{I}),Collected(M{I}[i]),M[i][i]]; if Length(arg)=2 then Add(res,arg[2][i]);fi; return res;end); return List(Set(iM),x->I{Filtered([1..Length(I)],j->iM[j]=x)}); end; stab:=function(I)local ind,g,p,iM; ind:=inds(I); if Length(ind)>1 then return Concatenation(List(ind,J->stab(J))); elif Length(I)>1 then if Length(I)>7 then InfoChevie("#Large Block:",I,"\n");fi; g:=MatStab(CoxeterGroupSymmetricGroup(Length(I)),M{I}{I}); p:=MappingPermListList([1..Length(I)],I); return [rec(gens:=List(g.generators,x->x^p),ind:=I)]; else return []; fi; end; if IsBound(g) then for r in inds([1..k]) do g:=Stabilizer(g,Set(r),OnSets);od; s:=Concatenation(List([1..k],i->List([1..k],j->[M[i][j],k*(i-1)+j]))); Sort(s); l:=[];j:=0; for i in [1..Length(s)] do if i=1 or s[i][1]<>s[i-1][1] then j:=j+1;l[j]:=[];fi; Add(l[j],s[i][2]); od; n:=Cartesian([1..k],[1..k]); e:=Group(List(g.generators,p->PermListList(n,List(n,x->OnTuples(x,p)))),()); for s in l do e:=Stabilizer(e,s,OnSets);od; return Group(List(e.generators,p->PermList(List([1..k],i->n[i^p][2]))),()); fi; g:=Group(());I:=[]; for r in stab([1..k]) do Append(I,r.ind);p:=MappingPermListList(I,[1..Length(I)]); g:=Group(Concatenation(g.generators,List(r.gens,x->x^p)),()); g:=MatStab(g,M{I}{I}); od; return Group(List(g.generators,x->x^(p^-1)),()); end; ############################################################################# ## #F DistHelpedRepresentativeOperation(G,x,y,opr,dist) . . Heuristic version of ## 'RepresentativeOperation' when a distance is known between x and y. # # In the case where x and y live in a space on which we have a distance, # we can try to get from x to y in G by multiplying by the generator # which brings us closer. Coupled with the trick of applying a random # perturbation if we fall in a hole which is not our goal, this often # works surprisingly well. 'dist(x,y)' should return rational numbers. # DistHelpedRepresentativeOperation:=function(G,x,y,opr,dist)local p,d,prev,cv,x1; InfoChevie("# group:",Size(G)," too big - trying random walk\n"); # best generator in G towards x=y cv:=function(x)local minimum,mp,i,nn; mp:=(); minimum:=dist(x,y); InfoChevie(minimum," \c"); for i in G.generators do nn:=dist(opr(x,i),y); if nn() then InfoChevie(Position(G.generators,mp),"->",minimum," \c");fi; return mp; end; p:=(); while true do x1:=opr(x,p); prev:=dist(x1,y); if prev=0 then InfoChevie("\n"); return p;fi; p:=p*cv(x1); d:=dist(opr(x,p),y); if d=prev then # Print(Format(opr(x,p)-y),"\n"); InfoChevie("\n#stalled -- restarting at a random element of G\n"); p:=p*Random(G); fi; od; end; ############################################################################# ## # PermMatMat(M, N[, extra1 ,extra2]) . . . . p such that OnMatrices(M,p)=N # # An analogue of PermListList for matrices. If in addition the vectors # extra1 and extra2 are given, find p such that Permuted(extra1,p)=extra2 # PermMatMat:=function(arg)local ind,l,I,J,r,p,e,g,n,h,sg,M,N; M:=arg[1];N:=arg[2]; sg:=n->Group(Concatenation(List([1..n-1],i->List([i+1..n],j->(i,j)))),()); ind:=function(I,J)local iM,iN,p; iM:=List(I,function(i)local res; res:=[Collected(M[i]{I}),Collected(M{I}[i]),M[i][i]]; if Length(arg)>2 then Add(res,arg[3][i]);fi; return res;end); iN:=List(J,function(i)local res; res:=[Collected(N[i]{J}),Collected(N{J}[i]),N[i][i]]; if Length(arg)>2 then Add(res,arg[4][i]);fi; return res;end); if Set(iM)<>Set(iN) then return false;fi; iM:=List(Set(iM),x->I{Filtered([1..Length(I)],j->iM[j]=x)}); iN:=List(Set(iN),x->J{Filtered([1..Length(J)],j->iN[j]=x)}); if List(iM,Length)<>List(iN,Length) then return false;fi; if Length(iM)=1 then if Length(I)>8 then InfoChevie("large block:",Length(I),"\n"); p:=DistHelpedRepresentativeOperation(sg(Length(I)),M{I}{I},N{J}{J}, OnMatrices,function(M,N)return Sum(M-N,x->Number(x,y->y<>0));end); else p:=RepresentativeOperation(sg(Length(I)),M{I}{I},N{J}{J},OnMatrices); fi; if p=false then return false;fi; return [[Permuted(I,p),J]]; else p:=Zip(iM,iN,ind); if false in p then return false; else return Concatenation(p); fi; fi; end; l:=ind([1..Length(M)],[1..Length(N)]); if l=false then return false;fi; I:=[];J:=[];g:=Group(()); for r in l do Append(I,r[1]);Append(J,r[2]); n:=Length(r[1]); p:=MappingPermListList([1..n],[1..n]+Length(I)-n); h:=MatStab(M{r[1]}{r[1]}); h:=Group(List(h.generators,x->x^p),()); g:=Group(Concatenation(g.generators,h.generators),()); if n>1 then InfoChevie("# I=",Length(I)," newstab=",Size(h)," all=",Size(g),"\c");fi; e:=RepresentativeOperation(g,M{I}{I},N{J}{J},OnMatrices); if e=false then return false; else I:=Permuted(I,e); fi; g:=MatStab(g,M{I}{I}); if n>1 then InfoChevie(" stab=",Size(g),"\n");fi; od; return MappingPermListList(I,J); end; ------------------------------------------------------------------------ Jean MICHEL, Equipe des groupes finis, Institut de Mathematiques UMR7586 Bureau 9D17 tel.(33)144278119, 175, rue du Chevaleret 75013 Paris From Rudolf.Zlabinger at chello.at Fri May 12 13:20:57 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri May 12 13:13:14 2006 Subject: [GAP Forum] Icosahedron exercises; some supplemental remarks Message-ID: <002301c675be$861b2600$eec57254@chello.at> Dear GAP Forum, there is some supplememtal Information to my message concerning "Icosahedron exercises": Ad 3. (How many labelling sets a specific group can handle, with other words how to describe a set of labelling sets by selecting a specific group. The results are affirmed by following calculation. If you divide the size of S12 by the sizes of the conjugacy classes of the isomorhic subgroups of A5 to S12 you get the number of labelling sets handled by each group conjugacy class also as follows: (variables as given in the procedures in the preceding message) gap> sizes_cc_iisos12:=List(iisos12,c->Size(ConjugacyClassSubgroups(s12,c))); [ 792, 5544, 997920, 1995840, 3991680, 1995840, 1995840 ] gap> ratio_sizes_cc_to_s12:= > List(sizes_cc_iisos12,c->Size(s12)/c); [ 604800, 86400, 480, 240, 120, 240, 240 ] Please compare it to results in the preceding message. The labelling sets thus are evenly distributed to the groups of each class separately. Ad 2. (To get the groups containing a specific permutation) For each group conjugacy class (of the isomorphic....) the normalizer of the group generated by the permutation in question is the only allowed conjugator to the groups for executing the command Orbit. Proof: If two groups in a conjugacy class were connected by another permutation outside the normalizer, they couldnt have the permutation in question in common, as the subgroup containing it wouldnt be fixed. So the only whats to do to get all possible groups containing our permutation is, to repeat the procedure shown in my message for each conjugacy class that moves (in our case) 10 ore more points and forming the union of the groups resulting. These was the classes 3,4,5,6,7 in isos12 in the procedure given. In this way i got (in our case) a total of 55 groups containing the permutation normact. The groups are distributed to classes as follows: gap> Sizes_orbits:=List(listgroups,c->Size(Orbit(norm_normgroup,c))); # variables selfexplaining from context [ 5, 10, 20, 10, 10 ] Kind regards, Rudolf Zlabinger From Rudolf.Zlabinger at chello.at Sun May 14 20:01:01 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Sun May 14 19:52:38 2006 Subject: [GAP Forum] Re: icosahedral group question References: Message-ID: <001001c67788$bed7a920$eec57254@chello.at> Dear Walter Becker, At the first glance I understood, that you describe the Dodecahedron, beeing the dual regular polyhedron of the icosahedron, therefore the rotation symmetry for your "buckyball" is the icosahedral group, i was dealing with in my messages. You can imagine it by replacing the 12 vertices of the icosahedron by the 12 pentagons of your "buckyball". best regards, Rudolf Zlabinger ----- Original Message ----- From: "Walter Becker" To: Sent: Sunday, May 14, 2006 6:14 PM Subject: icosahedral group question dear Dr. Zlabinger: You have been asking and getting several responses to questions dealing withy the icosahedral group on the GAP forum. Do you have any interest or knowledge about the uses of GAP in determining the symmetry adapted basis functions that are used in various areas of chemistry and physics? Here I am esecially interested in using GAP as a method or tool in calculating them--especially for teh higher order point groups e.g., the icosahedral one. The applicarion of interest here is to the buckyball systems which involve five-fold symmetres but the geometrical structure is a truncated icosahedran--ie, take each vertex of the icosahedron and pass a plane betwen it and the next series of vertices ---essentially converting each vertex in five new vertices. The group for te buckyball is this 60 vertex object and its vibratonsare determined by this point group. Comments on interest ????? I can give some references as to where the calclations are reported but not much in the nitty-gritty details are gven ie computer routines or projection operators used in the work. Walter Becker From costanti at science.unitn.it Mon May 15 17:32:33 2006 From: costanti at science.unitn.it (Marco Costantini) Date: Mon May 15 17:33:02 2006 Subject: [GAP Forum] Fields & Polynomials In-Reply-To: <445EFED9.7080302@web.de> References: <445EFED9.7080302@web.de> Message-ID: <200605151832.33447.costanti@science.unitn.it> Dear Forum, On Monday 08 May 2006 10:18, Joachim Schittenhelm asked: > with given F=GF(q) and an irreducible polynomial f over F of degree n, > how can i create the field of polynomials over F of degree at most n-1 that > is isomorphic to GF(q^n). The requested field of polynomial is isomorphic to an algebraic extension of the field. See the chapter "65 Algebraic extensions of fields" http://www.gap-system.org/Manuals/doc/htm/ref/CHAP065.htm of Gap reference manual. You can also create the field with q^n elements with the command GF(q^n); but this field may not be related to the given polynomial f. To use f you can use: GF(q^n, f); See "57.3 Creating Finite Fields" http://www.gap-system.org/Manuals/doc/htm/ref/CHAP057.htm#SECT003 For any remark concerning this mail, please do not reply to me, but write to support@gap-system.org . Best regards, Marco Costantini From igor at txc.com Mon May 15 19:19:15 2006 From: igor at txc.com (Igor Schein) Date: Mon May 15 19:19:33 2006 Subject: [GAP Forum] Galois Group question Message-ID: <20060515181915.GH16796@txc.com> Dear Gap Forum, Given a small group G of order 2^n, I would like to know whether or not there exists a polynomial P in x^4 whose Galois group is G. Let me illustrate: gap> IdGroup(TransitiveGroup(8,GaloisType(x^8+3*x^4+1))); [ 8, 3 ] So the answer is yes for small group [8,3], P: x -> x^2+3*x+1 However, if I consider small group [8,4], such P clearly doesn't exist, so the answer is no. So my question is how I can answer this question using GAP commands and intrinsic properties of groups. Specifically, I need to know the answer for [64,64] and [64,122]. Thanks in advance and please forgive any (unintentional) ambiguity and/or terminology misuse. Igor From amahalan at fau.edu Tue May 16 00:22:54 2006 From: amahalan at fau.edu (Ayan Mahalanobis) Date: Tue May 16 00:22:11 2006 Subject: [GAP Forum] automorphisms of the group of unitriangular matrices over finite fields Message-ID: <44690D4E.70605@fau.edu> Hi, I have this problem. I like to work with the group of unitriangular matrices over a finite field using the polycyclic package. I know of some functions as the action on the minimal set of generators, i.e., their action on the elements on the second diagonal. I want to test if they are morphisms. How do I incorporate this mapping to the whole of the group? In other words how do I define this mapping on the example in GAP UnitraingualrPcpGroup(n,c)? Thanks and Regards, Ayan. From beick at tu-bs.de Tue May 16 09:01:22 2006 From: beick at tu-bs.de (Bettina Eick) Date: Tue May 16 09:04:37 2006 Subject: [GAP Forum] automorphisms of the group of unitriangular matrices over finite fields In-Reply-To: <44690D4E.70605@fau.edu> Message-ID: Dear Ayan, enclosed below is an example for an example computation with a unitriangular group using the Polycyclic package. Note that you need to read the function included below into GAP to run the example. # the unitriangular matrices in GL(4,3); gap> G := UnitriangularPcpGroup(4,3); Pcp-group with orders [ 3, 3, 3, 3, 3, 3 ] # generators corresponding to the second diagonal gap> g := Igs(G){[1..3]}; [ g1, g2, g3 ] # an example mapping gap> map := GroupGeneralMappingByImages(G,G,g,[g[1]*g[2], g[2],g[3]]); [ g1, g2, g3, g4, g5, g6 ] -> [ g1*g2, g2, g3, g4, g5, g6 ] gap> IsPcpGroupHomomorphism(map); false # another example mapping gap> map := GroupGeneralMappingByImages(G,G,g,[g[1]*Igs(G)[6], g[2],g[3]]); [ g1, g2, g3, g4, g5, g6 ] -> [ g1*g6, g2, g3, g4, g5, g6 ] gap> IsPcpGroupHomomorphism(map); true Please contact me directly (or send and e-mail to gap-support) if there are any problems with this approach. Best wishes, Bettina ############################################################################# ## #M IsPcpGroupHomomorphism( map ) ## IsPcpGroupHomomorphism := function( map ) local gens, imgs, rels, i, a, b, j; gens := MappingGeneratorsImages( map )[1]; imgs := MappingGeneratorsImages( map )[2]; rels := List( gens, x -> RelativeOrderPcp( x ) ); # check relators for i in [1..Length( gens )] do if rels[i] > 0 then a := MappedVector(ExponentsByIgs(gens, gens[i]^rels[i]), imgs); b := imgs[i]^rels[i]; if a <> b then return false; fi; fi; for j in [1..i-1] do a := MappedVector(ExponentsByIgs(gens, gens[i]^gens[j]), imgs); b := imgs[i] ^ imgs[j]; if a <> b then return false; fi; od; od; return true; end; From ndroock1 at gmail.com Wed May 17 11:28:08 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Wed May 17 11:28:18 2006 Subject: [GAP Forum] Calling GAP from Java Message-ID: Dear GAP forum, ( I hope this isn't too far off-topic. ) I am sure most, if not all of you, have worked with Mathematica. What I particularly like about Mathematica, ( speaking as a Java programmer ), is J/Link: I can use Java classes in the Mathematica language, or use Mathematica as a computation-engine in my Java programs. I wouldn't be here though if Mathematica could do algebra ( although http://www.central.edu/eaam/index.asp is a start ). If I only had a wrapper around GAP which enabled me to call it in a Java program. I have been doing a bit of research and sofar all I could find is http://javamath.sourceforge.net. The authors claim to have built a website which remotely called GAP to create character tables, but the link is dead and the project hasn't been updated since 2001. This brings me to my questions: Do you have any info, tips, links regarding GAP and Java? If you think it can't be done ( rightly ), please let know? If there was a good wrapper around GAP for Java would you use it? Thanks in advance. -- met vriendelijke groet, Nilo de Roock http://xmsql.sourceforge.net From ken.w.smith at cmich.edu Wed May 17 12:04:49 2006 From: ken.w.smith at cmich.edu (Ken W Smith) Date: Wed May 17 12:05:05 2006 Subject: [GAP Forum] Maximal length chain of normal subgroups Message-ID: Hi, Is there a GAP command (or series of commands) which, given a finite group G, would return a chain 1=G0 < G1 < G2 < ... < Gn=G of normal subgroups of G, where the length, n, of the chain, is as large as possible? (I've written a rather naive procedure to do that, using NormalSubgroups(G), but it gets computationally intensive if the group has hundreds of normal subgroups.... and I suspect there is a much better procedure out there...) Thanks in advance for any help you can provide. ken --- Ken W. Smith, Professor of Mathematics, Central Michigan University 989-854-0185 (Cell) http://www.cst.cmich.edu/users/smith1kw Address until June 4, 2006: 22 Chase Gayton Terrace, Apt 1518 Richmond, VA 23238-6526 Address after June 4, 2006: 616 S. Pine St. Mt. Pleasant, MI 48858 From allomber at math.u-bordeaux.fr Wed May 17 13:33:54 2006 From: allomber at math.u-bordeaux.fr (Bill Allombert) Date: Wed May 17 13:34:13 2006 Subject: [GAP Forum] Galois Group question In-Reply-To: <20060515181915.GH16796@txc.com> References: <20060515181915.GH16796@txc.com> Message-ID: <20060517123354.GC5570@seventeen> On Mon, May 15, 2006 at 02:19:15PM -0400, Igor Schein wrote: > Dear Gap Forum, > > Given a small group G of order 2^n, I would like to know whether or not > there exists a polynomial P in x^4 whose Galois group is G. Let me > illustrate: > > gap> IdGroup(TransitiveGroup(8,GaloisType(x^8+3*x^4+1))); > [ 8, 3 ] > > So the answer is yes for small group [8,3], P: x -> x^2+3*x+1 > > However, if I consider small group [8,4], such P clearly doesn't > exist, so the answer is no. > > So my question is how I can answer this question using GAP commands > and intrinsic properties of groups. Specifically, I need to know the > answer for [64,64] and [64,122]. I don't think your question can be easily expressed in a purely group theoretic way, because the obstruction is arithmetic in nature. Let us show one of easiest arithmetic obstructions: Let K be the normal closure of the splitting field of P. Then K must include the 4th roots of unity. However the field Q(zeta_4)=Q(sqrt(-1) cannot be extended to a C4 extension of Q because -1 is not the sum of two squares in Q. We can extend this result using group theory by saying that the abelianized of G must have at least one abelian invariant not divisible by 4, (since G must have a C2 quotient (corresponding to Q(sqrt(-1) through Galois theory) that cannot be lifted to a C4 quotient) but the basis of the obstruction is arithmetic. While this is the only obstruction for abelian groups of order divisible by 4, there are other obstructions for non-abelian groups. Cheers, Bill. From ndroock1 at gmail.com Wed May 17 14:39:50 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Wed May 17 14:40:03 2006 Subject: [GAP Forum] Calling GAP from Java In-Reply-To: <000201c679a0$6b308cf0$2201a8c0@SWISSOFT> References: <000201c679a0$6b308cf0$2201a8c0@SWISSOFT> Message-ID: Hi Michael, I just found this page...: http://www.riaca.win.tue.nl/webstart/ looks promising although I haven't been able to get it working yet. Have you ever tried this one? Sounds interesting you are willing to participate, if you give me a few days, I'll get back to you. Kind regards, nilo Op Wed, 17 May 2006 12:54:36 +0200 schreef Michael Schweitzer : > Dear Nilo de Roock, > > I'd certainly use a GAP/Java wrapper. I like both GAP > and Java - actually, I'm using Java for all the programming > and, frankly, I don't like the user interface of the other- > wise wonderful GAP package. > > If you want to start a GAP/Java-project, I'd be happy > to participate. > > With best regards, > Michael > -- met vriendelijke groet, Nilo de Roock http://xmsql.sourceforge.net From Rudolf.Zlabinger at chello.at Wed May 17 14:59:37 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed May 17 14:51:04 2006 Subject: [GAP Forum] Re: icosahedral group question References: Message-ID: <003101c679ba$233e4800$eec57254@chello.at> Dear Walter Becker, attached to this message a GAP file generating a rotation group "fullerene". Its the rotation group A5 (icosahedral group) acting on the 60 points of your "buckyball". This group supports a special labelling of the original icosahedron as already outlined in my first message "icosahedron exercises". I repeat this here: Having a blueprint in mind of icosahedron, there is a top vertex, two pentagons one on top of another, the second pentagon rotated by 36 degrees clockwise against the first one, and a bottom vertex. As we label the top vertex by 1, the two pentagons by 2,3,4,5,6 and 7,8,9,10,11 clockwise looking in bottom direction respectively and the bottom vertex by 12, we have following picture: The respective opposite vertices are: (1,12), (2,9), (3,10), (4,11), (5,7), (6,8). The edges are: (1,2),(1,3),(1,4),(1,5),(1,6), from the top vertex to first pentagon (12,7),(12,8)(12,9)(12,10)(12,11) from the bottom vertex to second pentagon (2,3)(3,4)(4,5)(5,6)(6,2) the top pentagon (7,8)(8,9)(9,10)(10,11)(11,7) the bottom pentagon (2,11)(2,7)(3,7)(3,8)(4,8)(4,9)(5,9)(5,10)(6,10)(6,11) between the pentagons Following this labels of the vertices of the icosahedron you have to derive the labels of the 60 vertex "buckyball" as follows: label a pentagon by 1,2,3,4,5 and then the other pentagons by (x-1)*5 + y, where x is the original vertex label of the icosahedron and y the numbers 1,2,3,4,5. The respective adjacent pentagons have to be labelled such as after rotating a pentagon into an adjacent (or also another) pentagon the respective target and image labels are congruent modulo 5. Using the rotation group fullerene, you can derive the positions of the such labelled "buckyball" vertices directly as result of a rotation permuation, where the group contains all possible rotations of them. best regards, Rudolf Zlabinger PS.: by the way, I am not graduated, so to be correct, I have to tell it. ----- Original Message ----- From: "Walter Becker" To: Sent: Sunday, May 14, 2006 6:14 PM Subject: icosahedral group question dear Dr. Zlabinger: You have been asking and getting several responses to questions dealing withy the icosahedral group on the GAP forum. Do you have any interest or knowledge about the uses of GAP in determining the symmetry adapted basis functions that are used in various areas of chemistry and physics? Here I am esecially interested in using GAP as a method or tool in calculating them--especially for teh higher order point groups e.g., the icosahedral one. The applicarion of interest here is to the buckyball systems which involve five-fold symmetres but the geometrical structure is a truncated icosahedran--ie, take each vertex of the icosahedron and pass a plane betwen it and the next series of vertices ---essentially converting each vertex in five new vertices. The group for te buckyball is this 60 vertex object and its vibratonsare determined by this point group. Comments on interest ????? I can give some references as to where the calclations are reported but not much in the nitty-gritty details are gven ie computer routines or projection operators used in the work. Walter Becker -------------- next part -------------- # Thats the group covering a "canonical" label set of icosahedron # gencgroup:=GeneratorsOfGroup(cgroup); # [ (1,2,3)(4,6,7)(5,11,8)(9,10,12), (1,2)(3,6)(4,11)(5,7)(8,10)(9,12) ] # we claculate the generators as acting on numbers mod(5), where the mods 1 are the original # points of the icosahedron list0010:=[1,2,3,4,6,7,5,11,8,9,10,12]; list0020:=[1,2,3,6,4,11,5,7,8,10,9,12]; list0030:=[1,2,3,4,5]; result0010:=List( list0030,c->List( list0010,d->( (d-1)*5+c) ) ); result0020:=List( list0030,c->List( list0020,d->( (d-1)*5+c) ) ); # result0010; # [ [ 1, 6, 11, 16, 26, 31, 21, 51, 36, 41, 46, 56 ], # [ 2, 7, 12, 17, 27, 32, 22, 52, 37, 42, 47, 57 ], # [ 3, 8, 13, 18, 28, 33, 23, 53, 38, 43, 48, 58 ], # [ 4, 9, 14, 19, 29, 34, 24, 54, 39, 44, 49, 59 ], # [ 5, 10, 15, 20, 30, 35, 25, 55, 40, 45, 50, 60 ] ] # result0020; # [ [ 1, 6, 11, 26, 16, 51, 21, 31, 36, 46, 41, 56 ], # [ 2, 7, 12, 27, 17, 52, 22, 32, 37, 47, 42, 57 ], # [ 3, 8, 13, 28, 18, 53, 23, 33, 38, 48, 43, 58 ], # [ 4, 9, 14, 29, 19, 54, 24, 34, 39, 49, 44, 59 ], # [ 5, 10, 15, 30, 20, 55, 25, 35, 40, 50, 45, 60 ] ] # So we get as generators of our icosahedron acting on 60 points of the Fullerene gen_0010:= (1, 6, 11) (16, 26, 31) (21, 51, 36) (41, 46, 56) (2, 7, 12) (17, 27, 32) (22, 52, 37) (42, 47, 57) (3, 8, 13) (18, 28, 33) (23, 53, 38) (43, 48, 58) (4, 9, 14) (19, 29, 34) (24, 54, 39) (44, 49, 59) (5, 10, 15) (20, 30, 35) (25, 55, 40) (45, 50, 60); gen_0020:= (1, 6) (11, 26) (16, 51) (21, 31) (36, 46) (41, 56) (2, 7) (12, 27) (17, 52) (22, 32) (37, 47) (42, 57) (3, 8) (13, 28) (18, 53) (23, 33) (38, 48) (43, 58) (4, 9) (14, 29) (19, 54) (24, 34) (39, 49) (44, 59) (5, 10) (15, 30) (20, 55) (25, 35) (40, 50) (45, 60); fullerene:=Group(gen_0010,gen_0020); # StructureDescription(fullerene); # "A5" # NrMovedPoints(fullerene); # 60 From Rudolf.Zlabinger at chello.at Wed May 17 15:03:47 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed May 17 14:55:09 2006 Subject: [GAP Forum] Re: icosahedral group question References: Message-ID: <006901c679ba$b794d460$eec57254@chello.at> Dear Walter Becker, attached to this message a GAP file generating a rotation group "fullerene". Its the rotation group A5 (icosahedral group) acting on the 60 points of your "buckyball". This group supports a special labelling of the original icosahedron as already outlined in my first message "icosahedron exercises". I repeat this here: Having a blueprint in mind of icosahedron, there is a top vertex, two pentagons one on top of another, the second pentagon rotated by 36 degrees clockwise against the first one, and a bottom vertex. As we label the top vertex by 1, the two pentagons by 2,3,4,5,6 and 7,8,9,10,11 clockwise looking in bottom direction respectively and the bottom vertex by 12, we have following picture: The respective opposite vertices are: (1,12), (2,9), (3,10), (4,11), (5,7), (6,8). The edges are: (1,2),(1,3),(1,4),(1,5),(1,6), from the top vertex to first pentagon (12,7),(12,8)(12,9)(12,10)(12,11) from the bottom vertex to second pentagon (2,3)(3,4)(4,5)(5,6)(6,2) the top pentagon (7,8)(8,9)(9,10)(10,11)(11,7) the bottom pentagon (2,11)(2,7)(3,7)(3,8)(4,8)(4,9)(5,9)(5,10)(6,10)(6,11) between the pentagons Following this labels of the vertices of the icosahedron you have to derive the labels of the 60 vertex "buckyball" as follows: label a pentagon by 1,2,3,4,5 and then the other pentagons by (x-1)*5 + y, where x is the original vertex label of the icosahedron and y the numbers 1,2,3,4,5. The respective adjacent pentagons have to be labelled such as after rotating a pentagon into an adjacent (or also another) pentagon the respective target and image labels are congruent modulo 5. Using the rotation group fullerene, you can derive the positions of the such labelled "buckyball" vertices directly as result of a rotation permuation, where the group contains all possible rotations of them. best regards, Rudolf Zlabinger PS.: by the way, I am not graduated, so to be correct, I have to tell it. ----- Original Message ----- From: "Walter Becker" To: Sent: Sunday, May 14, 2006 6:14 PM Subject: icosahedral group question dear Dr. Zlabinger: You have been asking and getting several responses to questions dealing withy the icosahedral group on the GAP forum. Do you have any interest or knowledge about the uses of GAP in determining the symmetry adapted basis functions that are used in various areas of chemistry and physics? Here I am esecially interested in using GAP as a method or tool in calculating them--especially for teh higher order point groups e.g., the icosahedral one. The applicarion of interest here is to the buckyball systems which involve five-fold symmetres but the geometrical structure is a truncated icosahedran--ie, take each vertex of the icosahedron and pass a plane betwen it and the next series of vertices ---essentially converting each vertex in five new vertices. The group for te buckyball is this 60 vertex object and its vibratonsare determined by this point group. Comments on interest ????? I can give some references as to where the calclations are reported but not much in the nitty-gritty details are gven ie computer routines or projection operators used in the work. Walter Becker -------------- next part -------------- # Thats the group covering a "canonical" label set of icosahedron # gencgroup:=GeneratorsOfGroup(cgroup); # [ (1,2,3)(4,6,7)(5,11,8)(9,10,12), (1,2)(3,6)(4,11)(5,7)(8,10)(9,12) ] # we claculate the generators as acting on numbers mod(5), where the mods 1 are the original # points of the icosahedron list0010:=[1,2,3,4,6,7,5,11,8,9,10,12]; list0020:=[1,2,3,6,4,11,5,7,8,10,9,12]; list0030:=[1,2,3,4,5]; result0010:=List( list0030,c->List( list0010,d->( (d-1)*5+c) ) ); result0020:=List( list0030,c->List( list0020,d->( (d-1)*5+c) ) ); # result0010; # [ [ 1, 6, 11, 16, 26, 31, 21, 51, 36, 41, 46, 56 ], # [ 2, 7, 12, 17, 27, 32, 22, 52, 37, 42, 47, 57 ], # [ 3, 8, 13, 18, 28, 33, 23, 53, 38, 43, 48, 58 ], # [ 4, 9, 14, 19, 29, 34, 24, 54, 39, 44, 49, 59 ], # [ 5, 10, 15, 20, 30, 35, 25, 55, 40, 45, 50, 60 ] ] # result0020; # [ [ 1, 6, 11, 26, 16, 51, 21, 31, 36, 46, 41, 56 ], # [ 2, 7, 12, 27, 17, 52, 22, 32, 37, 47, 42, 57 ], # [ 3, 8, 13, 28, 18, 53, 23, 33, 38, 48, 43, 58 ], # [ 4, 9, 14, 29, 19, 54, 24, 34, 39, 49, 44, 59 ], # [ 5, 10, 15, 30, 20, 55, 25, 35, 40, 50, 45, 60 ] ] # So we get as generators of our icosahedron acting on 60 points of the Fullerene gen_0010:= (1, 6, 11) (16, 26, 31) (21, 51, 36) (41, 46, 56) (2, 7, 12) (17, 27, 32) (22, 52, 37) (42, 47, 57) (3, 8, 13) (18, 28, 33) (23, 53, 38) (43, 48, 58) (4, 9, 14) (19, 29, 34) (24, 54, 39) (44, 49, 59) (5, 10, 15) (20, 30, 35) (25, 55, 40) (45, 50, 60); gen_0020:= (1, 6) (11, 26) (16, 51) (21, 31) (36, 46) (41, 56) (2, 7) (12, 27) (17, 52) (22, 32) (37, 47) (42, 57) (3, 8) (13, 28) (18, 53) (23, 33) (38, 48) (43, 58) (4, 9) (14, 29) (19, 54) (24, 34) (39, 49) (44, 59) (5, 10) (15, 30) (20, 55) (25, 35) (40, 50) (45, 60); fullerene:=Group(gen_0010,gen_0020); # StructureDescription(fullerene); # "A5" # NrMovedPoints(fullerene); # 60 From ken.w.smith at cmich.edu Wed May 17 16:06:13 2006 From: ken.w.smith at cmich.edu (Ken W Smith) Date: Wed May 17 16:07:22 2006 Subject: [GAP Forum] Maximal length chain of normal subgroups In-Reply-To: <4E8CBB50-BD4B-4C0C-A0C2-1E00C420A77E@mac.com> References: <4E8CBB50-BD4B-4C0C-A0C2-1E00C420A77E@mac.com> Message-ID: Hi Alexander, yes -- thanks! (As several people from the GAP forum pointed out to me in private email, ChiefSeries(g); will do.) ken c. GAP forum --- On May 17, 2006, at 10:48 AM, Alexander Hulpke wrote: > Dear Ken, > > On May 17, 2006, at 5:04 AM, Ken W Smith wrote: > >> Hi, >> Is there a GAP command (or series of commands) which, given a finite >> group G, would return a chain 1=G0 < G1 < G2 < ... < Gn=G of >> normal subgroups of G, where the length, n, of the chain, is as large >> as possible? (I've written a rather naive procedure to do that, >> using NormalSubgroups(G), but it gets computationally intensive if >> the group has hundreds of normal subgroups.... and I suspect there is >> a much better procedure out there...) > > Shouldn't any chief series be good by Jordan-Hoelder? > > Alexander > > >> >> Thanks in advance for any help you can provide. >> >> ken >> >> --- >> Ken W. Smith, Professor of Mathematics, Central Michigan University >> 989-854-0185 (Cell) >> http://www.cst.cmich.edu/users/smith1kw >> Address until June 4, 2006: >> 22 Chase Gayton Terrace, Apt 1518 >> Richmond, VA 23238-6526 >> Address after June 4, 2006: >> 616 S. Pine St. >> Mt. Pleasant, MI 48858 >> >> _______________________________________________ >> Forum mailing list >> Forum@mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > > --- Ken W. Smith, Professor of Mathematics, Central Michigan University 989-854-0185 (Cell) http://www.cst.cmich.edu/users/smith1kw Address until June 4, 2006: 22 Chase Gayton Terrace, Apt 1518 Richmond, VA 23238-6526 Address after June 4, 2006: 616 S. Pine St. Mt. Pleasant, MI 48858 From Rudolf.Zlabinger at chello.at Wed May 17 18:21:22 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed May 17 18:13:02 2006 Subject: Fw: [GAP Forum] Re: icosahedral group question Message-ID: <006801c679d6$51a703a0$eec57254@chello.at> Dear MCKAY john, I did read now the publication you recommended to me, but there was no explicit construction for the A5 acting on 60 points in permutation representation based on a special labelling procedure. So I think, it was helpful though for people looking for special samples. best regards, Rudolf Zlabinger ----- Original Message ----- From: "Rudolf Zlabinger" To: "MCKAY john" Sent: Wednesday, May 17, 2006 5:58 PM Subject: Re: [GAP Forum] Re: icosahedral group question Dear MCKAY john, Thank you for hint; I am learning by doing now, and often one spends more time for looking for related publications, than redeveloping it yourself, if its not too complicated. best regards, Rudolf Zlabinger ----- Original Message ----- From: "MCKAY john" To: "Rudolf Zlabinger" Cc: "Walter Becker" Sent: Wednesday, May 17, 2006 5:26 PM Subject: Re: [GAP Forum] Re: icosahedral group question Read the article(s) by Kostant in Notices of AMS about C60. The icosahedron is well understood. Best, John McKay On Wed, 17 May 2006, Rudolf Zlabinger wrote: > Dear Walter Becker, > > attached to this message a GAP file generating a rotation group "fullerene". > > Its the rotation group A5 (icosahedral group) acting on the 60 points of > your "buckyball". > > This group supports a special labelling of the original icosahedron as > already outlined in my first message "icosahedron exercises". I repeat this > here: > > Having a blueprint in mind of icosahedron, there is a top vertex, two > pentagons one on top of another, the second pentagon rotated by 36 degrees > clockwise against the first one, and a bottom vertex. > > As we label the top vertex by 1, the two pentagons by 2,3,4,5,6 and > 7,8,9,10,11 clockwise looking in bottom direction respectively and the > bottom vertex by 12, we have following picture: > > The respective opposite vertices are: (1,12), (2,9), (3,10), (4,11), (5,7), > (6,8). > > The edges are: > > (1,2),(1,3),(1,4),(1,5),(1,6), > from the top vertex to first pentagon > (12,7),(12,8)(12,9)(12,10)(12,11) > from the bottom vertex to second pentagon > (2,3)(3,4)(4,5)(5,6)(6,2) > the top pentagon > (7,8)(8,9)(9,10)(10,11)(11,7) > the bottom pentagon > (2,11)(2,7)(3,7)(3,8)(4,8)(4,9)(5,9)(5,10)(6,10)(6,11) > between the pentagons > > Following this labels of the vertices of the icosahedron you have to derive > the labels of the 60 vertex "buckyball" as follows: > label a pentagon by 1,2,3,4,5 and then the other pentagons by (x-1)*5 + y, > where x is the original vertex label of the icosahedron and y the numbers > 1,2,3,4,5. The respective adjacent pentagons have to be labelled such as > after rotating a pentagon into an adjacent (or also another) pentagon the > respective target and image labels are congruent modulo 5. > > Using the rotation group fullerene, you can derive the positions of the such > labelled "buckyball" vertices directly as result of a rotation permuation, > where the group contains all possible rotations of them. > > best regards, Rudolf Zlabinger > PS.: by the way, I am not graduated, so to be correct, I have to tell it. > > ----- Original Message ----- > From: "Walter Becker" > To: > Sent: Sunday, May 14, 2006 6:14 PM > Subject: icosahedral group question > > > > dear Dr. Zlabinger: > > You have been asking and getting several responses to questions dealing > withy the icosahedral group on the GAP forum. Do you have any interest or > knowledge about the uses of GAP in determining the symmetry adapted basis > functions that are used in various areas of chemistry and physics? Here I > am esecially interested in using GAP as a method or tool in calculating > them--especially for teh higher order point groups e.g., the icosahedral > one. The applicarion of interest here is to the buckyball systems which > involve five-fold symmetres but the geometrical structure is a truncated > icosahedran--ie, take each vertex of the icosahedron and pass a plane betwen > it and the next series of vertices ---essentially converting each vertex in > five new vertices. The group for te buckyball is this 60 vertex object and > its vibratonsare determined by this point group. > > > Comments on interest ????? > > I can give some references as to where the calclations are reported but not > much in the nitty-gritty details are gven ie computer routines or projection > operators used in the work. > > Walter Becker > > From dutour at liga.ens.fr Thu May 18 07:38:16 2006 From: dutour at liga.ens.fr (Mathieu Dutour) Date: Thu May 18 07:38:37 2006 Subject: [GAP Forum] Re: icosahedral group question In-Reply-To: <003101c679ba$233e4800$eec57254@chello.at> References: <003101c679ba$233e4800$eec57254@chello.at> Message-ID: <20060518063816.GB15790@orge.ens.fr> Dear All, just for your information. I have written an unfinished package named plangraph for dealing with planar graphs (you can get it from http://www.liga.ens.fr/~dutour/PlanGraph/plangraph.tar.gz). It could be useful for such routine computations: ---- RequirePackage("plangraph"); PL:=ArchimedeanPolyhedra("TruncatedIcosahedron"); GRPinfo:=GroupPlan(PL); GRP:=GRPindo.SymmetryGroup; LN:=NormalSubgroups(GRP); A5:=First(LN, x->Order(x)=60); ---- Feel free to ask me if you have some questions. Mathieu On Wed, May 17, 2006 at 03:59:37PM +0200, Rudolf Zlabinger wrote: > Dear Walter Becker, > > attached to this message a GAP file generating a rotation group "fullerene". > > Its the rotation group A5 (icosahedral group) acting on the 60 points of > your "buckyball". > > This group supports a special labelling of the original icosahedron as > already outlined in my first message "icosahedron exercises". I repeat this > here: > > Having a blueprint in mind of icosahedron, there is a top vertex, two > pentagons one on top of another, the second pentagon rotated by 36 degrees > clockwise against the first one, and a bottom vertex. > > As we label the top vertex by 1, the two pentagons by 2,3,4,5,6 and > 7,8,9,10,11 clockwise looking in bottom direction respectively and the > bottom vertex by 12, we have following picture: > > The respective opposite vertices are: (1,12), (2,9), (3,10), (4,11), (5,7), > (6,8). > > The edges are: > > (1,2),(1,3),(1,4),(1,5),(1,6), > from the top vertex to first pentagon > (12,7),(12,8)(12,9)(12,10)(12,11) > from the bottom vertex to second pentagon > (2,3)(3,4)(4,5)(5,6)(6,2) > the top pentagon > (7,8)(8,9)(9,10)(10,11)(11,7) > the bottom pentagon > (2,11)(2,7)(3,7)(3,8)(4,8)(4,9)(5,9)(5,10)(6,10)(6,11) > between the pentagons > > Following this labels of the vertices of the icosahedron you have to derive > the labels of the 60 vertex "buckyball" as follows: > label a pentagon by 1,2,3,4,5 and then the other pentagons by (x-1)*5 + y, > where x is the original vertex label of the icosahedron and y the numbers > 1,2,3,4,5. The respective adjacent pentagons have to be labelled such as > after rotating a pentagon into an adjacent (or also another) pentagon the > respective target and image labels are congruent modulo 5. > > Using the rotation group fullerene, you can derive the positions of the such > labelled "buckyball" vertices directly as result of a rotation permuation, > where the group contains all possible rotations of them. > > best regards, Rudolf Zlabinger > PS.: by the way, I am not graduated, so to be correct, I have to tell it. -- Mathieu Dutour Sikiric Researcher in Math Tel. (+972)2 65 84 103 and Computer Science Fax. (+972)2 56 30 702 Einstein Institute of Mathematics E-mail: Mathieu.Dutour@ens.fr Hebrew University of Jerusalem http://www.liga.ens.fr/~dutour Israel From mspanbro at win.tue.nl Thu May 18 10:22:48 2006 From: mspanbro at win.tue.nl (Mark Spanbroek) Date: Thu May 18 10:23:00 2006 Subject: [GAP Forum] RE:Calling GAP from Java Message-ID: <200605181122.48694.mspanbro@win.tue.nl> Hi Nilo and Michael, A colleague of mine mentioned that you requested information about calling GAP from Java on this mailing list, and that you found our website (http://www.riaca.win.tue.nl). I must admit that the information on our website doesn't reflect the most current status of our software. We've been working on a new version of our Java GAP Client library. Although it isn't finished yet (especially the conversion between GAP and OpenMath needs some work), it is quite useable if all you want to do is execute GAP commands from Java. You can obtain a copy from our public Subversion repository at https://mathdox.org/svn/repos/public/gapclient/. Documentation can be found at https://mathdox.org/svn/repos/public/gapclient/documentation/readme.txt You probably also need our SocketService, which can be found at https://mathdox.org/svn/repos/public/socketservice/. Our software is open source (LGPL and GPL resp.), so if you want to contribute, you're more than welcome. I hope this helps, Mark From joachim.neubueser at math.rwth-aachen.de Thu May 18 15:04:33 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Thu May 18 15:05:31 2006 Subject: [GAP Forum] farewell Message-ID: <20060518140433.GA25534@math.rwth-aachen.de> Dear Colleagues, Please excuse that I take the freedom to (ab-)use the GAP Forum for a farewell letter. I have been in direct contact with too many of you since I initiated GAP in 1985 and even before to write individually. Already on March 28 I have informed Professor Edmund Robertson as Chairman of the GAP Council about my resignation from the Council. On the same day I have asked the GAP developers to find a colleague who will take over the job of maintaining the GAP website that I had accepted in 2004 after Volkmar Felsch and I had redesigned the GAP webpages to their present format. I am glad that, as I have heard, Professor David Joyner has accepted to take over, he has already in the past many times helped me with valuable suggestions for improving the website and I wish him that he will find your support that I have enjoyed to get. Last week I have asked to be removed from the mailing lists of the GAP Developer's Group and GAP Support Group. I will now soon leave my room at LDfM so that you should no longer count on reaching me via e-mail, phone, or letters at LDfM. I want to thank all those who have helped or even enabled me to serve GAP. In particular I want to thank Professor Gerhard Hiss, my successor in the chair of LDfM, for most kindly allowing me to keep a room at LDfM for now almost 9 years after my retirement and Dr. Max Neunhoeffer for again and again patiently saving me from a mess on the computer into which my ignorance of modern technology had brought me. Having been a participating eye-witness of the growth of Computational Group Theory since 1959, I have sometimes been asked about its history as well as that of GAP. For a brief sketch of the first I can refer you to a talk I gave at the 'Groups St Andrews at Galway' meeting in 1993 (see Doc/Talks/talks on the GAP website), but even better to the historical introductions of the books by Derek Holt and Charles Sims (bibliographic details of these as well as further literature on the topic are on the page Doc/references of the GAP website). For the second I have collected a few documents marking steps of the development of GAP on the page Doc/History/history of the GAP website. I neither can nor want to withdraw what I have said in public, e.g. in publications and the GAP Forum. In particular I keep strongly convinced that algorithms of Computational Group Theory and their implementations are as well part of mathematics as theorems and their proofs and should be treated as such, that is be available to everybody free of charge and in source. I have expanded on that belief also in the above mentioned talk at Galway. On the other hand I rather strongly dislike the now popular trend in the name of 'research in history' to tear into the public what has never been written for that purpose. I am therefore destroying all correspondence I have had with colleagues since I started in 1951 and I would be grateful if you could do the same with corespondence with me, in case you have kept any. Thank you for respecting this request even if you may find it strange. I wish you further fun and success developing, maintaining, and using GAP. All the best Joachim Neubueser From ndroock1 at gmail.com Thu May 18 20:43:14 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Thu May 18 20:43:26 2006 Subject: [GAP Forum] GAP, Java ( Revisited ) Message-ID: Mark Spanbroek wrote: "... We've been working on a new version of our Java GAP Client library. Although it isn't finished yet (especially the conversion between GAP and OpenMath needs some work), it is quite useable if all you want to do is execute GAP commands from Java. ..." - Execute commands and receiving the result is all I need. I'll handle the rest in Java. "... You can obtain a copy from our public Subversion repository at https://mathdox.org/svn/repos/public/gapclient/. Documentation can be found at https://mathdox.org/svn/repos/public/gapclient/documentation/readme.txt You probably also need our SocketService, which can be found at https://mathdox.org/svn/repos/public/socketservice/. ..." - Super. Thanks. - "... Our software is open source (LGPL and GPL resp.), so if you want to contribute, you're more than welcome..." If I can, I definitely will. - "... I hope this helps, ..." I hope so, I will report my findings to the forum. If anyone else on the forum is going to try using the programs as well then please let us know if it worked and which Java version, GAP version and operating system you used. Thanks in advance. -- met vriendelijke groet, Nilo de Roock http://xmsql.sourceforge.net From ndroock1 at gmail.com Thu May 18 23:23:57 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Thu May 18 23:24:03 2006 Subject: [GAP Forum] Calling GAP from Java In-Reply-To: <200605182233.36315.costanti@science.unitn.it> References: <200605182233.36315.costanti@science.unitn.it> Message-ID: ( off - topic ) Dear Marco Costantini and GAP Forum, I am on internet for many years, but at times like this I still feel a sort of overwhelmed by it...: ask a difficult question and this 'Oracle', consisting of the collected know-how of all mathematicians of the world ( and a few others ), replies with the correct answer, links to software and advice. Just like that. That is priceless: we are so rich. 2006/5/18, Marco Costantini : > Dear Nilo de Roock, > Here are some personal remarks about Gap and Java. > > The following people wrote to support@gap-system.org about Java, I might want > to contact them. > > Stephan Wehner , > On Monday 17 October 2005 23:49, Stephan Wehner wrote: > > I have translated the division-free determinant code included with GAP > > in to Java. > > "Marco Mesquita" > On Monday 26 September 2005 23:44, Marco Mesquita wrote: > > I'm part of a team that's developing a project that we think that would be > > interesting to submit to you has a GAP Package. > > > > I've already take a tour through your site, but I still have a question: > > can we submit a project written in Java language to you ? > > > I would like also to suggest you to have a look at the opinion of Richard > Stallman about Java, see http://www.gnu.org/philosophy/java-trap.html . Note > however, that this is not necessarily an "official" opinion of the Gap Group > > Read http://www.gap-system.org/Faq/Programming/programming1.html (although I > don't claim that it is relevant). > > You could use OpenMath standard, see > http://www.gap-system.org/Packages/openmath.html > > Best wishes, > Marco Costantini > > > On Wednesday 17 May 2006 12:28, Nilo de Roock wrote: > > I am sure most, if not all of you, have worked with Mathematica. What I > > particularly like about Mathematica, ( speaking as a Java programmer ), is > > J/Link: I can use Java classes in the Mathematica language, or use > > Mathematica as a computation-engine in my Java programs. I wouldn't be > > here though if Mathematica could do algebra ( although > > http://www.central.edu/eaam/index.asp is a start ). > > > > If I only had a wrapper around GAP which enabled me to call it in a Java > > program. I have been doing a bit of research and sofar all I could find is > > http://javamath.sourceforge.net. The authors claim to have built a website > > which remotely called GAP to create character tables, but the link is dead > > and the project hasn't been updated since 2001. This brings me to my > > questions: > > > > Do you have any info, tips, links regarding GAP and Java? If you think it > > can't be done ( rightly ), please let know? If there was a good wrapper > > around GAP for Java would you use it? > > From hulpke at math.colostate.edu Mon May 22 18:42:52 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Mon May 22 18:43:13 2006 Subject: [GAP Forum] farewell In-Reply-To: <20060518140433.GA25534@math.rwth-aachen.de> References: <20060518140433.GA25534@math.rwth-aachen.de> Message-ID: Lieber Herr Neub"user, We are very sorry to see you finally leaving the development of GAP and both of us would like to take this last opportunity and thank you for all your help and encouragement. The GAP System would not exists without your enthusiastic interest and your powerful support. From our time as diploma students in Aachen until now it has been a pleasure for us to be members of the GAP group and it has been fun to work with GAP. Thank you for initiating the system in the first place and for all your support throughout the years. Both our professional careers (and without doubt those of many more people) have benefitted enormously from your advice and support. We also would like to thank you for that and for all the help that we got from you. With the best wishes for your well-deserved retirement, Bettina Eick & Alexander Hulpke From Rudolf.Zlabinger at chello.at Wed May 24 14:27:21 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed May 24 14:26:40 2006 Subject: [GAP Forum] extending groups to isomorphics acting on a multiple of domain Message-ID: <002201c67f35$c9b1ba20$eec57254@chello.at> Dear GAP Forum, I try to extend the number of points acted on by permutation groups to multiples of the original domain. For example i tried to find a subgroup of S60 isomorphic to A5, thus acting on 60 points. As the samples attached show, I did it by brute force, extending the generators by acting on all residue classes mod the multiplier. This method yields subgroups of the desired target symmetric groups, but only in one subgroup conjugacy class. The conjugacy class(es) I am looking for, are those, whose subgroups are transitive, as needed, for example, to be true rotation groups acting on the vertices of a solid. This was possible in the case of A5 extending to S12, but not to S30 or even S60, as those targets are to big for executing, for example IsomorphicSubgroups. In the case of finite rotation groups there are other methods using presentations in Linear Algebra too. I used blueprints of solids to get the right generator permutations for S12 and S60 for the desired rotation groups. 1. Is there a simpler method for extending the domain acted on to a multiple in general? 2. Is there a feasable method for big Symmetric Groups as S60 to find conjugacy classes of isomorphic subgroups (for example for A5) beeing transitive? Thank you and best regards, Rudolf Zlabinger -------------- next part -------------- # Two examples of extending the points acted on to a set of a multiple Size # The method is to assign the original points the mods 1 of the multiplier # and extending the generators by cycles consisting of the rest of the mods # The result yields a isomorphic subgroup of the symmetric group (nr of points) # It may be not the desired conjugacy class, thus a finite rotation group may not be # preserved. In the case of finite rotation groups one has to look for a # conjugacy class of transitive groups, i.e a group whose orbit on a point is the full set # of points # First we extend a group acting on 12 points to a group acting on 60 points # Thats the group covering a "canonical" label set of icosahedron # gencgroup:=GeneratorsOfGroup(cgroup); # [ (1,2,3)(4,6,7)(5,11,8)(9,10,12), (1,2)(3,6)(4,11)(5,7)(8,10)(9,12) ] # cgroup itself is not transitive, and therefore itself not a true rotation group # we calculate the generators as acting on numbers mod(5), where the mods 1 are the # original # points of the icosahedron # list0010:=[1,2,3,4,6,7,5,11,8,9,10,12]; # list0020:=[1,2,3,6,4,11,5,7,8,10,9,12]; # list0030:=[1,2,3,4,5]; # result0010:=List( list0030,c->List( list0010,d->( (d-1)*5+c) ) ); # result0020:=List( list0030,c->List( list0020,d->( (d-1)*5+c) ) ); # result0010; # [ [ 1, 6, 11, 16, 26, 31, 21, 51, 36, 41, 46, 56 ], # [ 2, 7, 12, 17, 27, 32, 22, 52, 37, 42, 47, 57 ], # [ 3, 8, 13, 18, 28, 33, 23, 53, 38, 43, 48, 58 ], # [ 4, 9, 14, 19, 29, 34, 24, 54, 39, 44, 49, 59 ], # [ 5, 10, 15, 20, 30, 35, 25, 55, 40, 45, 50, 60 ] ] # result0020; # [ [ 1, 6, 11, 26, 16, 51, 21, 31, 36, 46, 41, 56 ], # [ 2, 7, 12, 27, 17, 52, 22, 32, 37, 47, 42, 57 ], # [ 3, 8, 13, 28, 18, 53, 23, 33, 38, 48, 43, 58 ], # [ 4, 9, 14, 29, 19, 54, 24, 34, 39, 49, 44, 59 ], # [ 5, 10, 15, 30, 20, 55, 25, 35, 40, 50, 45, 60 ] ] # So we get as generators of our icosahedron acting on 60 points gen_0010:= (1, 6, 11) (16, 26, 31) (21, 51, 36) (41, 46, 56) (2, 7, 12) (17, 27, 32) (22, 52, 37) (42, 47, 57) (3, 8, 13) (18, 28, 33) (23, 53, 38) (43, 48, 58) (4, 9, 14) (19, 29, 34) (24, 54, 39) (44, 49, 59) (5, 10, 15) (20, 30, 35) (25, 55, 40) (45, 50, 60); gen_0020:= (1, 6) (11, 26) (16, 51) (21, 31) (36, 46) (41, 56) (2, 7) (12, 27) (17, 52) (22, 32) (37, 47) (42, 57) (3, 8) (13, 28) (18, 53) (23, 33) (38, 48) (43, 58) (4, 9) (14, 29) (19, 54) (24, 34) (39, 49) (44, 59) (5, 10) (15, 30) (20, 55) (25, 35) (40, 50) (45, 60); group0010:=Group(gen_0010,gen_0020); # StructureDescription(group0010); # "A5" It is isomorphic indeed # NrMovedPoints(group0010); # 60 and acting on 60 points as desired # The next sample extends A5 to a isomorphic subgroup of S30 # Generators of A5 (1,3,2), (2,4,3), (2,3)(4,5) gens0050:= ( 1,13, 7)( 2,14, 8)( 3,15, 9)( 4,16,10)( 5,17,11)( 6,18,12); gens0051:= ( 7,19,13)( 8,20,14)( 9,21,15)(10,22,16)(11,23,17)(12,24,18); gens0052:= ( 7,13)( 8,14)( 9,15)(10,16)(11,17)(12,18) (19,25)(20,26)(21,27)(22,28)(23,29)(24,30); group0050:=Group(gens0050,gens0051,gens0052); From holmespe at for.mat.bham.ac.uk Fri May 26 13:56:26 2006 From: holmespe at for.mat.bham.ac.uk (Petra Holmes) Date: Fri May 26 13:56:43 2006 Subject: [GAP Forum] coset enumeration Message-ID: Dear GAP forum, I want to enumerate some cosets. The manual tells me that I can set the maximum number of cosets but that if I exceed this number then I will enter a break loop. I want to do lots of coset enumerations in a row without having to stand over my computer. Is there any way I can make the coset enumerator return 'fail' then continue with the next command, instead of waiting for me to give it permission? Beth From holmespe at for.mat.bham.ac.uk Fri May 26 13:59:22 2006 From: holmespe at for.mat.bham.ac.uk (Petra Holmes) Date: Fri May 26 13:59:28 2006 Subject: [GAP Forum] ignore last email Message-ID: I've just noticed the 'silent' option. Sorry for clogging up your mailbox! From rijanandrianina at yahoo.fr Sat May 27 07:13:58 2006 From: rijanandrianina at yahoo.fr (RAJAONARISON Rijanandrianina) Date: Mon May 29 11:06:14 2006 Subject: [GAP Forum] QUESTION Message-ID: <20060527061358.74211.qmail@web26211.mail.ukl.yahoo.com> I'm a student. How to recognize all groups of a given order? (for examples groups of order 40). --------------------------------- Yahoo! Mail r?invente le mail ! D?couvrez le nouveau Yahoo! Mail et son interface r?volutionnaire. From marta31 at gmail.com Mon May 29 18:13:04 2006 From: marta31 at gmail.com (marta asaeda) Date: Mon May 29 18:13:27 2006 Subject: [GAP Forum] cyclotomic detection Message-ID: <4dd3929a0605291013w43586629ld47b7fa7cf8319bd@mail.gmail.com> Hello, I am wondering about the following: the roots of the polynomial p:=x^3-8*x^2+17*x-5 are known to be cyclotomic integers because the galois group of p is Z_3, by Kronecker's thm abelian extension of Q sit in a cyclotomic field. However I do the following: gap> x:=Indeterminate(Rationals, "x");; gap> p:=x^3-8*x^2+17*x-5;; gap> e:=AlgebraicExtension(Rationals, p); gap> IsField(e); true gap> d:=RootOfDefiningPolynomial(e); (a) gap> IsCyclotomic(d); false gap> d in Cyclotomics; false gap> IsCyc(d); false gap> IsIntegralCyclotomic(d); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `IsIntegralCyclotomic' on 1 arguments ca\ lled from It looks like gap is saying that d is not a cyclotomic, and it doesn't know if it is a cyclotomic integer. I wonder what's wrong here.... I appreciate if you could let me know what's going on... Best Marta From thomas.breuer at math.rwth-aachen.de Tue May 30 10:25:59 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Tue May 30 10:28:05 2006 Subject: [GAP Forum] cyclotomic detection In-Reply-To: <4dd3929a0605291013w43586629ld47b7fa7cf8319bd@mail.gmail.com> References: <4dd3929a0605291013w43586629ld47b7fa7cf8319bd@mail.gmail.com> Message-ID: <20060530092559.GA29462@math.rwth-aachen.de> Dear GAP Forum, Marta Asaeda wrote: > I am wondering about the following: the roots of the polynomial > p:=x^3-8*x^2+17*x-5 > are known to be cyclotomic integers because the galois group of p is > Z_3, by Kronecker's thm abelian extension of Q sit in a cyclotomic > field. However I do the following: > > gap> x:=Indeterminate(Rationals, "x");; > gap> p:=x^3-8*x^2+17*x-5;; > gap> e:=AlgebraicExtension(Rationals, p); > > gap> IsField(e); > true > gap> d:=RootOfDefiningPolynomial(e); > (a) > gap> IsCyclotomic(d); > false > gap> d in Cyclotomics; > false > gap> IsCyc(d); > false > gap> IsIntegralCyclotomic(d); > Error, no method found! For debugging hints type ?Recovery from > NoMethodFound > Error, no 1st choice method found for `IsIntegralCyclotomic' on 1 arguments > ca\ > lled from > > It looks like gap is saying that d is not a cyclotomic, and it doesn't > know if it is a cyclotomic integer. I wonder what's wrong here.... I > appreciate if you could let me know what's going on... The functions `IsCyclotomic' and `IsIntegralCyclotomic' regard only field elements that are represented as linear combinations of roots of unity as cyclotomics, where the n-th complex roots of unity are given as powers of `E(n)'. Elements in fields obtained by `AlgebraicExtension' are not of this kind, also if the field can be embedded into a cyclotomic field. (The documentation should of course state this.) In the example above, one can proceed as follows. The polynomial splits into linear factors in the 13-th cyclotomic field, which can be entered as `CF(13)'. So we compute the factorization over this field. gap> x:= Indeterminate( Rationals ); x_1 gap> p:=x^3-8*x^2+17*x-5; x_1^3-8*x_1^2+17*x_1-5 gap> factors:= Factors( PolynomialRing( CF(13) ), p );; gap> Length( factors ); 3 Next we extract the roots. GAP represents them as sums of 13-th roots of unity. gap> coeffs:= List( factors, CoefficientsOfUnivariatePolynomial ); [ [ 2*E(13)+3*E(13)^2+3*E(13)^3+3*E(13)^4+2*E(13)^5+3*E(13)^6+3*E(13)^7 +2*E(13)^8+3*E(13)^9+3*E(13)^10+3*E(13)^11+2*E(13)^12, 1 ], [ 3*E(13)+2*E(13)^2+2*E(13)^3+3*E(13)^4+3*E(13)^5+3*E(13)^6+3*E(13)^7 +3*E(13)^8+3*E(13)^9+2*E(13)^10+2*E(13)^11+3*E(13)^12, 1 ], [ 3*E(13)+3*E(13)^2+3*E(13)^3+2*E(13)^4+3*E(13)^5+2*E(13)^6+2*E(13)^7 +3*E(13)^8+2*E(13)^9+3*E(13)^10+3*E(13)^11+3*E(13)^12, 1 ] ] gap> roots:= List( coeffs, x -> x[1] );; The roots lie in a degree 3 extension of the rationals, and the field of 13-th roots of unity has a unique such subfield, which is generated by an element that is called `c13' in the ATLAS of Finite Groups. We get that the roots are the conjugates of `-3-c13'. gap> AtlasIrrationality( "c13" ); E(13)+E(13)^5+E(13)^8+E(13)^12 gap> roots[1] = AtlasIrrationality( "-3-c13" ); true gap> roots[2] = AtlasIrrationality( "-3-c13*2" ); true gap> roots[3] = AtlasIrrationality( "-3-c13*4" ); true All the best, Thomas From arikan at gazi.edu.tr Tue May 30 14:10:23 2006 From: arikan at gazi.edu.tr (AHMET ARIKAN) Date: Tue May 30 14:06:23 2006 Subject: [GAP Forum] commutator calculations Message-ID: <004b01c683ea$6918d9a0$9903050a@aarikan> Dear forum, I am very new in GAP. I need some commutator calculations in finite perfect groups. I have GAP 4 (version 4. 4. 5), but I cannot find commands to help me directly. Do I need download some extensions (such as LAGUNA)? With best wishes, Ahmet Arikan From jjm at dcs.st-and.ac.uk Wed May 31 16:01:09 2006 From: jjm at dcs.st-and.ac.uk (John McDermott) Date: Wed May 31 16:02:25 2006 Subject: [GAP Forum] Re: Cycle type of a permutation in GAP. In-Reply-To: References: Message-ID: Dear Fernando, You sent your message below to an incorrect address - it was received by moderators of the Forum mailing list. I have copied this reply to the GAP Forum (forum@gap-system.org). Best wishes, John. On 31 May 2006, at 15:50, Fernando Fantino wrote: > Is there a GAP command that tests whether two permutations have the > same = > cycle type structure? > > i.e. if x=(123) (45)(789) > > " command? " (x) = ( 3 , 2 , 2 ). > > Thanks. Fernando -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From hulpke at math.colostate.edu Wed May 31 16:56:38 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Wed May 31 16:56:47 2006 Subject: [GAP Forum] Re: Cycle type of a permutation in GAP. In-Reply-To: References: Message-ID: <4800906F-0114-4ECB-821B-957BEE62DCA4@math.colostate.edu> > On 31 May 2006, at 15:50, Fernando Fantino wrote: > >> Is there a GAP command that tests whether two permutations have >> the same = >> cycle type structure? >> >> i.e. if x=(123) (45)(789) >> >> " command? " (x) = ( 3 , 2 , 2 ). `CycleStructurePerm' (see the manual) will return the cycle structure, you can then compare its values. Best, Alexander Hulpke From greg.gamble at math.rwth-aachen.de Wed May 31 18:09:42 2006 From: greg.gamble at math.rwth-aachen.de (Greg Gamble) Date: Wed May 31 18:10:04 2006 Subject: [GAP Forum] Re: Cycle type of a permutation in GAP. In-Reply-To: References: Message-ID: <20060531170942.GA5578@math.rwth-aachen.de> Dear Forum, On Wed, May 31, 2006 at 04:01:09PM +0100, John McDermott wrote: > Dear Fernando, > > You sent your message below to an incorrect address - it was received > by moderators of the Forum mailing list. I have copied this reply to > the GAP Forum (forum@gap-system.org). > > Best wishes, > John. > > On 31 May 2006, at 15:50, Fernando Fantino wrote: > > >Is there a GAP command that tests whether two permutations have the > >same = > >cycle type structure? > > > >i.e. if x=(123) (45)(789) > > > >" command? " (x) = ( 3 , 2 , 2 ). > > > >Thanks. Fernando To find the command for the cycle structure, he could try: gap> ?CycleStructure Help: several entries match this topic - type ?2 to get match [2] [1] Reference: CycleStructurePerm [2] Reference: CycleStructureClass gap> ?1 > CycleStructurePerm( ) A is the cycle structure (i.e. the numbers of cycles of different lengths) of . This is encoded in a list in the following form: The -th entry of contains the number of cycles of of length . If contains no cycles of length it is not bound. Cycles of length 1 are ignored. gap> SignPerm((1,2,3)(4,5)); -1 gap> CycleStructurePerm((1,2,3)(4,5,9,7,8)); [ , 1,, 1 ] On the other hand, if the cycle structure is irrelevant and he just wants to check two permutations have the same cycle type structure as he asked, then he need only check conjugacy in the mutually enclosing symmetric group: gap> IsConjugate(SymmetricGroup(4), (1,2)(3,4), (1,3)(2,4)); true [Two permutations of S_n are conjugate in S_n iff they have the same cycle structure.] Regards, Greg Gamble From thomas.breuer at math.rwth-aachen.de Thu Jun 1 11:19:16 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Thu Jun 1 11:19:33 2006 Subject: [GAP Forum] extending groups to isomorphics acting on a multiple of domain In-Reply-To: <002201c67f35$c9b1ba20$eec57254@chello.at> References: <002201c67f35$c9b1ba20$eec57254@chello.at> Message-ID: <20060601101916.GD13036@math.rwth-aachen.de> Dear GAP Forum, Rudolf Zlabinger wrote: > I try to extend the number of points acted on by permutation groups to > multiples of the original domain. > For example i tried to find a subgroup of S60 isomorphic to A5, thus > acting on 60 points. > As the samples attached show, I did it by brute force, extending the > generators by acting on all residue classes mod the multiplier. > > This method yields subgroups of the desired target symmetric groups, but > only in one subgroup conjugacy class. The conjugacy class(es) I am > looking for, are those, whose subgroups are transitive, as needed, for > example, to be true rotation groups acting on the vertices of a solid. > > This was possible in the case of A5 extending to S12, but not to S30 or > even S60, as those targets are to big for executing, for example > IsomorphicSubgroups. > > In the case of finite rotation groups there are other methods using > presentations in Linear Algebra too. I used blueprints of solids to get > the right generator permutations for S12 and S60 for the desired rotation > groups. > > 1. Is there a simpler method for extending the domain acted on to a > multiple in general? > > 2. Is there a feasable method for big Symmetric Groups as S60 to find > conjugacy classes of isomorphic subgroups (for example for A5) beeing > transitive? If I understand the request correctly then the aim is to construct transitive permutation representations of a given (permutation) group, of prescribed degree. These representations are parametrized by conjugacy classes of subgroups of the corresponding index: The permutation domain can be identified with the set of right cosets of any subgroup in the class. So all transitive permutation representations of the alternating group $A_5$ of degrees $12$, $30$, and $60$ can be obtained by taking representatives of classes of subgroups of the orders $5$, $2$, and $1$, and then considering the action on the right cosets. (In GAP, one can actually act on the return value of `RightTransversal'.) In particular, there is only one transitive action on $60$ points, up to renumbering of the points. All the best, Thomas Breuer From jdraisma at win.tue.nl Thu Jun 1 11:20:02 2006 From: jdraisma at win.tue.nl (Jan Draisma) Date: Thu Jun 1 12:06:57 2006 Subject: [GAP Forum] WeylAlg, Blattner, and SeDiMO Message-ID: <447EBF52.7080707@win.tue.nl> Dear Gap-forum, Joachim Neubueser urged me to publicise my GAP-programs that might be of use to others: WeylAlgebra ----------- Weyl Algebras in GAP, a minor variation on UniversalEnvelopingAlgebra. Blattner -------- Explicit realization of Lie algebras by vector fields and 1st order differential operators. SeDiMO v. 3 ----------- Computes, using a randomised algorithm, the secant dimensions of minimal orbits. Written together with Karin Baur and Willem de Graaf. See http://www.win.tue.nl/~jdraisma/index.php?location=programs Best regards, Jan Draisma From ckeil at math.uni-duesseldorf.de Tue Jun 6 17:13:17 2006 From: ckeil at math.uni-duesseldorf.de (Caroline Keil) Date: Wed Jun 7 10:41:47 2006 Subject: [GAP Forum] RightCosets and reconstructing a subgroup Message-ID: Hello, I am doing some research with G=PSL(2,Z) and subgroups. Therefore, I have constructed G as follows: # free group mit B=F.1, S=F.2 F := FreeGroup( "B", "S");; # Relations G := F / [ F.1^2,F.2^3];; B:=G.1;;S:=G.2;; For some subgroups H in G, I only know representatives r_1,...r_n given as words in B and S of the right cosets H\G and with this information I want to construct the group H. How can I get a proper coset table for H\G, or is there any other possibily to gain the generators of H ? I hope you can help me ! Thank you Caroline Keil > ********************************* > Caroline Keil > Mathematisches Institut > Heinrich-Heine-Universitaet Duesseldorf > Universitaetsstrasse 1 > 40225 Duesseldorf > ckeil@math.uni-duesseldorf.de > ********************************* From dfh at maths.warwick.ac.uk Wed Jun 7 15:38:18 2006 From: dfh at maths.warwick.ac.uk (Derek Holt) Date: Wed Jun 7 15:40:28 2006 Subject: [GAP Forum] RightCosets and reconstructing a subgroup In-Reply-To: References: Message-ID: <20060607143818.GA22589@maths.warwick.ac.uk> Dear Caroline Keil, GAP Forum, I don't think that just knowing coset representatives is enough information to determine the subgroup H uniquely. For example, there are two non-conjugate subgroups of G of index 3, H1 = < B, S*B*S > and H2 = < B, S^-1*B*S, S*B*S^-1 >, and for both of these subgroups, [ One(G), S, S^-1 ] is a right transversal. So I believe that you will need some extra information in order to find generators of H. For example, if for an arbitrary element g of G you were able to determine the coset representative rep(g) of g from your list, then you could find the Schreier generators of H; i.e. H is generated by { r_i * x * rep(r_i*x)^-1 | i in {1..n}, x in {B,S} }. Derek Holt. On Tue, Jun 06, 2006 at 06:13:17PM +0200, Caroline Keil wrote: > > Hello, > > I am doing some research with G=PSL(2,Z) and subgroups. Therefore, I have > constructed G as follows: > # free group mit B=F.1, S=F.2 > F := FreeGroup( "B", "S");; > # Relations > G := F / [ F.1^2,F.2^3];; > B:=G.1;;S:=G.2;; > > For some subgroups H in G, I only know representatives r_1,...r_n given as > words in B and S of the right cosets H\G and with this information I want > to construct the group H. > How can I get a proper coset table for H\G, or is there any other > possibily to gain the generators of H ? > > I hope you can help me ! > > Thank you > > Caroline Keil > > > > > ********************************* > > Caroline Keil > > Mathematisches Institut > > Heinrich-Heine-Universitaet Duesseldorf > > Universitaetsstrasse 1 > > 40225 Duesseldorf > > ckeil@math.uni-duesseldorf.de > > ********************************* > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From zeroaku at yahoo.co.in Thu Jun 8 07:58:10 2006 From: zeroaku at yahoo.co.in (A. K. Upadhyay) Date: Thu Jun 8 07:58:34 2006 Subject: [GAP Forum] Different S and T Message-ID: <20060608065810.5960.qmail@web8401.mail.in.yahoo.com> Hi, Below, is a small GAP program. Which, to my surprise prints same values for S and T. I would have like the values of S and T to be the following : S:= remains unchanged T:=[[0,2,5],[0,5,8],[0,2,3,5],[0,3,4,5]] I would be greatful if someone indicates a way out Thanks Ashish ########################################### R:=[];;T:=[];; S:=[[0,1,2,5],[0,1,5,8],[0,2,3,5],[0,3,4,5]];; T:=S;; for i in [1..4] do if 1 in T[i] then RemoveSet(T[i],1); AddSet(R,T[i]); fi; od; Print("\n R = ", R , "\n S = ", S , "\n T = ", T , "\n"); ############################################ Send instant messages to your online friends http://in.messenger.yahoo.com Stay connected with your friends even when away from PC. Link: http://in.mobile.yahoo.com/new/messenger/ From gordon at csse.uwa.edu.au Thu Jun 8 09:15:19 2006 From: gordon at csse.uwa.edu.au (Gordon Royle) Date: Thu Jun 8 09:15:54 2006 Subject: [GAP Forum] Different S and T In-Reply-To: <20060608065810.5960.qmail@web8401.mail.in.yahoo.com> References: <20060608065810.5960.qmail@web8401.mail.in.yahoo.com> Message-ID: <5A70E8DA-3796-481C-8153-398C4D35748F@csse.uwa.edu.au> It shouldn't be surprising.. When you do T := S then S and T are two different names for the same underlying object, but there is still only one array. (It is just like making an assignment of reference type in Java.) If you actually want two copies of the underlying array, one to delete things from and one to remain unchanged, then you must explicitly tell GAP that you want a new copy of the array (analogous to "clone()" in Java) So, replace T := S with T := StructuralCopy(S); Gordon On 08/06/2006, at 2:58 PM, A. K. Upadhyay wrote: > Hi, > Below, is a small GAP program. Which, to my surprise prints same > values for S and T. I would have like the values of S and T to be > the following : From reichard at maths.uwa.edu.au Thu Jun 8 09:33:54 2006 From: reichard at maths.uwa.edu.au (reichard@maths.uwa.edu.au) Date: Thu Jun 8 09:34:23 2006 Subject: [GAP Forum] Different S and T In-Reply-To: <20060608065810.5960.qmail@web8401.mail.in.yahoo.com> References: <20060608065810.5960.qmail@web8401.mail.in.yahoo.com> Message-ID: <33180.203.166.243.80.1149755634.squirrel@203.166.243.80> Ashish, if you replace the line gap> T := S; by gap> T := StructuralCopy(S); you get the wanted beaviour. In your code, S and T are simply different names for the same object, so when you change T, you also change S. See also the manual at ?structuralcopy Best regards, Sven Reichard. > Hi, > Below, is a small GAP program. Which, to my surprise prints same values > for S and T. I would have like the values of S and T to be the following > : > > S:= remains unchanged > T:=[[0,2,5],[0,5,8],[0,2,3,5],[0,3,4,5]] > > I would be greatful if someone indicates a way out > > Thanks > > Ashish > > ########################################### > R:=[];;T:=[];; > S:=[[0,1,2,5],[0,1,5,8],[0,2,3,5],[0,3,4,5]];; > T:=S;; T := StructuralCopy( S ); > for i in [1..4] do > if 1 in T[i] then > RemoveSet(T[i],1); > AddSet(R,T[i]); > fi; > od; > Print("\n R = ", R , "\n S = ", S , "\n T = ", T , "\n"); > ############################################ > > Send instant messages to your online friends > http://in.messenger.yahoo.com > > Stay connected with your friends even when away from PC. Link: > http://in.mobile.yahoo.com/new/messenger/ > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > From reichard at maths.uwa.edu.au Thu Jun 8 09:40:14 2006 From: reichard at maths.uwa.edu.au (reichard@maths.uwa.edu.au) Date: Thu Jun 8 09:40:35 2006 Subject: [GAP Forum] Eclipse integration? Message-ID: <53101.203.166.243.80.1149756014.squirrel@203.166.243.80> Dear Forum, eclipse (http://www.eclipse.org) is an extensible development environment which has also been dubbed the "emacs for the 21st century". My question is, has anybody tried to integrate GAP and eclipse, e.g., in terms of editing modes for GAP code? Any pointers would be appreciated. Regards, Sven Reichard UWA, Perth, AUS From jm.bois at free.fr Thu Jun 8 11:22:28 2006 From: jm.bois at free.fr (Jean-Marie Bois) Date: Thu Jun 8 11:23:05 2006 Subject: [GAP Forum] Simple Lie algebras of Cartan type Message-ID: <4487FA64.8060000@free.fr> Hello, I am currently experimenting with computations in simple modular Lie algebras of Cartan type, but I am a bit confused with what basis GAP considers. Let me explain more precisely. Say I wish to consider the restricted Lie algebra W_2, whose elements I view for instance as derivations of the truncated polynomial ring F[x,y]/(x^p,y^p). Now if I give the following code to GAP: F:=GF(5); W:=SimpleLieAlgebra("W",[1,1],F); b:=BasisVectors(Basis(L)); to what elements of W_2 do the vectors b[1],b[2],...,b[50] correspond? And what about more general Cartan type Lie algebras? Regards, JM. Bois From degraaf at science.unitn.it Fri Jun 9 17:25:17 2006 From: degraaf at science.unitn.it (Willem De Graaf) Date: Fri Jun 9 17:27:11 2006 Subject: [GAP Forum] Simple Lie algebras of Cartan type In-Reply-To: <4487FA64.8060000@free.fr> References: <4487FA64.8060000@free.fr> Message-ID: <4489A0ED.9030808@science.unitn.it> Dear prof. Bois, You asked about Witt algebras: > > I am currently experimenting with computations in simple modular Lie > algebras of Cartan type, but I am a bit confused with what basis GAP > considers. Let me explain more precisely. > > Say I wish to consider the restricted Lie algebra W_2, whose elements > I view for instance as derivations of the truncated polynomial ring > F[x,y]/(x^p,y^p). Now if I give the following code to GAP: > > F:=GF(5); > W:=SimpleLieAlgebra("W",[1,1],F); > b:=BasisVectors(Basis(L)); > > to what elements of W_2 do the vectors b[1],b[2],...,b[50] correspond? > And what about more general Cartan type Lie algebras? For the Lie algebra of type W you can do the following: gap> w:=SimpleLieAlgebraTypeW( [1,1], GF(5) );; This will return a list containing the Lie algebra and a as second element a list of 50 entries. Each of those entries is a list describing the corresponding basis element, for example: gap> w[2][32]; [ [ 1, 1 ], 2 ] This means that the 32-nd basis element is x^aD_2, where a is the multi index a=[1,1]. The Lie algebras of types S and H are constructed as subalgebras of a Lie algebra of type W; there the correspondence is not so clear. I hope that this helps you. If you have further questions, then please ask. All the best, Willem de Graaf From ndroock1 at gmail.com Sun Jun 11 16:55:03 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sun Jun 11 16:55:42 2006 Subject: [GAP Forum] GAP and Java - Revisited Message-ID: I would like to report that I have succesfully tested all programs on http://www.mathdox.org/projects/gap/ For example List(AllGroups(8),StructureDescription) calculated by GAP called from GAP Link:
[Q:\gap-link\bin]test "c:\gap4r4\bin\gapw95 -p -q"  
"List(AllGroups(8),StructureD
escription)"
using JAVA_CLASSPATH : lib\gap-link.jar;lib\test.jar
Using JAVA_HOME      : c:\Program Files\Java\jdk1.5.0_02
[ "C8", "C4 x C2", "D8", "Q8", "C2 x C2 x C2" ]
IMPORTANT: Please note that the programs only work when the xgap package is entirely removed from the pkg directory. This seems to be a workaround and has been confirmed by Mark Spanbroek who is one of the active maintainers of the packages. -- kind regards, nilo de roock http://xmsql.sourceforge.net From muntyan at tamu.edu Sun Jun 11 22:45:24 2006 From: muntyan at tamu.edu (Yevgen Muntyan) Date: Sun Jun 11 22:45:56 2006 Subject: [GAP Forum] Announcement: GGAP-0.6.9 Message-ID: <448C8EF4.4070301@tamu.edu> Dear GAP community, I'm glad to announce version 0.6.9 of GGAP: http://ggap.sourceforge.net/ . GGAP is a GTK front end for GAP providing nicer and more convenient than just a terminal user interface and some features making working with GAP code easier. It works on Linux, FreeBSD, Windows, and hopefully on many other platforms as well. What GGAP has: 1) GAP-friendly text editor, which knows about GAP syntax, and can work together with the GAP terminal. 2) GAP-friendly terminal emulator. 3) Shared package which enables creating user interface in GAP, somewhat similar to XGAP. At the moment it has simple dialogs built in, and it can create windows using xml description created by glade (http://glade.gnome.org/). You can see what it can do in the demo which comes with the shared package, to run it, execute Read(Filename(DirectoriesLibrary("pkg/ggap/tst"), "demo.g")); (screenshot is here: http://ggap.sourceforge.net/img/demo.png , the top left window is written in GAP, on the left you can see the source) in GAP. Please visit its home page http://ggap.sourceforge.net/ for sources, additional details, and screenshots. It's been long time since I made last ggap release, and I could wait even more, since I want 0.7 (aka good working release), but I decided not to wait, and release what I have now (it's a lot even though some important things are missing). Best regards, Yevgen From p.j.cameron at qmul.ac.uk Fri Jun 16 11:13:25 2006 From: p.j.cameron at qmul.ac.uk (p.j.cameron@qmul.ac.uk) Date: Fri Jun 16 22:35:19 2006 Subject: [GAP Forum] Reminder: CRLG-fest Message-ID: <20060616101325.GA22803@artin.maths.qmul.ac.uk> Groups and Computation 2006: A Leedham-Green Fest ------------------------------------------------- This one-day meeting will celebrate Charles Leedham-Green's 65th birthday and his imminent retirement from Queen Mary. A few places are still available: please see the web page http://www.maths.qmul.ac.uk/MRC/crlg.html and register as soon as possible, by email to S.McKay@qmul.ac.uk The meeting will feature talks by Bettina Eick, Eamonn O'Brien, Aner Shalev, Peter Neumann and Sue McKay, and dinner at L'Oasis Restaurant. Peter Cameron, Sue McKay, Leonard Soicher, organisers. From kohl at mathematik.uni-stuttgart.de Wed Jun 21 17:56:20 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Wed Jun 21 17:56:26 2006 Subject: [GAP Forum] RCWA 2.1 Message-ID: <44997A34.5050005@mathematik.uni-stuttgart.de> Dear Forum, This is to announce the release of RCWA 2.1. The RCWA package provides methods for computing in certain infinite permutation groups acting on the integers. The class of groups which can be dealt with is closed under forming wreath products with finite groups and with the infinite cyclic group (Z,+). It includes free groups, all free products of finitely many finite groups and certain divisible torsion groups. The class transpositions - these are involutions which interchange two disjoint residue classes - generate a countable simple group. This group has subgroups of all mentioned types. Its class of isomorphism types of subgroups is closed under the above operations. Therefore by a result of Mihailova it has finitely generated subgroups with unsolvable membership problem, and by a result of Baumslag, it has finitely generated subgroups which are not finitely presented. As usual, you can find the RCWA package at http://www.gap-system.org/Packages/rcwa.html . Below I give some short examples illustrating a few recently added features. One can enter a group by giving generators: ---------------------------------------------------------------------------- gap> G := Group(ClassTransposition(1,2,4,6),ClassShift(0,2)); gap> StructureDescription(G); "(Z x Z x Z x Z) . S4" ---------------------------------------------------------------------------- One can form direct products and wreath products: ---------------------------------------------------------------------------- gap> F2 := Image(IsomorphismRcwaGroup(FreeGroup(2))); gap> PSL2Z := Image(IsomorphismRcwaGroup(FreeProduct(CyclicGroup(2), > CyclicGroup(3)))); gap> G := DirectProduct(WreathProduct(PSL2Z,Group(ClassShift(0,1))), > WreathProduct(F2,AlternatingGroup(4)), > Group(ClassShift(0,1),ClassTransposition(1,2,0,4)), > Group(ClassTransposition(1,2,0,6),ClassShift(1,3))); gap> StructureDescription(G); "((C2 * C3) wr Z) x (F2 wr A4) x ( . Z) x ((Z x Z x Z) . D12)" ---------------------------------------------------------------------------- The method for forming wreath products with (Z,+) follows a suggestion by Laurent Bartholdi. Sections of the group on whose structure RCWA cannot obtain information automatically are denoted by . Such sections can have an interesting group theoretic structure, which often can be explored in an interactive session by a sequence of commands. Wishing you fun and success using this package, Stefan Kohl ---------------------------------------------------------------------------- http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/ ---------------------------------------------------------------------------- From wdjoyner at gmail.com Mon Jun 26 14:08:56 2006 From: wdjoyner at gmail.com (David Joyner) Date: Mon Jun 26 14:09:14 2006 Subject: [GAP Forum] GAP www items Message-ID: <8cf963450606260608y10143eefq9dabe63ef47d0f88@mail.gmail.com> Hello all: As Joachim Neubeuser said in an earlier email, I will try to replace him as GAP "webmaster". As I told Joachim, if I can do 1/2 as good a job as he, I will be satisfied. "Webmaster" is a misnomer - GAP's "editor-in-chief" is the chair of the GAP Council, Edmund Robertson; Angela Miguel and Bjoern Assmann are in charge of bibliography and packages, resp.; I just add minor content (like an FAQ) or try to handle (with Joachim and Max's help) the technical aspects of putting a package description in the right place. Still, feel free to contact me (wdjoyner@gmail.com) if you spot a GAP www problem and I'll do what I can. By way of news, here are some recent additions to the GAP website and other miscellaneous tidbits: 1. There are several new and updated packages: kan, rwca, idrel, gpd, hap, guava, for example. http://www.gap-system.org/Packages/packages.html#deppkg 2. A. Cohen's "grobner" package and other additions to website. http://www.gap-system.org/Packages/undep.html 3. GAP now has two graphical interfacess. * One is ggap, announced by Yevgen. http://mail.gap-system.org/pipermail/forum/2006/001520.html * The other uses the "SAGE notebook", which has a GAP version. (SAGE is a computer algebra system whic includes GAP.) Here's how to install and use the GAP notebook. a. Go to http://sage.scipy.org/ or http://modular.math.washington.edu/sage/ and download SAGE. installation instructions are in http://modular.math.washington.edu/sage/doc/html/inst/inst.html or http://sage.scipy.org/sage/documentation.html , if you get stuck (or just email me). b. start sage and then type sage: notebook(open_viewer=True,system="gap") This works in windows, linux and on a mac but you must have the firefox browser installed. It provides a Mathematica-type interface, though emacs key bindings are possible. c. Type any legal commands (or block of commands) in the input box (enter for carriage return "shift enter" to execute). There is a help link or you can read the tutorial at http://sage.scipy.org/sage/doc/html/ref/node87.html or http://modular.math.washington.edu/sage/doc/html/ref/node87.html d. Have fun! I haven't put a link to ggap or the SAGE GAP gui on the website yet. 4. In the past few months, Angie Miguel has posted to http://www.gap-system.org/Doc/Bib/gap-published.html about 60 bibiliographical items related to GAP. The (growing) year-by-year statistics at http://www.gap-system.org/Doc/Bib/statistics.html 5. New items were added to the FAQ http://www.gap-system.org/Faq/faq.html based on some of the Forum responses to Support questions. This was suggested by Joachim Neubeuser, though Alexander Hulpke provided the details http://www.gap-system.org/Faq/Complaints/complaints3.html If you have any other suggestions, please let me know. A thanks from me to Joachim and Max for being so extremely helpful and patient while I "learn the ropes". - David Joyner, wdjoyner@gmail.com From l.h.soicher at qmul.ac.uk Fri Jun 30 12:30:05 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Fri Jun 30 12:30:17 2006 Subject: [GAP Forum] New GRAPE version Message-ID: <20060630113005.GA659@mrcpc02.maths.qmul.ac.uk> Dear Forum, I am pleased to announce a new version of GRAPE (Version 4.3), which can be downloaded from the GRAPE homepage: http://www.maths.qmul.ac.uk/~leonard/grape/ Main changes from GRAPE 4.2 to GRAPE 4.3: ------------------------------------------ (1) GRAPE can now be installed via `/bin/sh configure ../..; make'. (2) The version of nauty now used is 2.2 final, rather than 2.0beta5, and canonical labellings may have changed. Moreover, dreadnautB is now used instead of dreadnaut, so there is no practical upper bound on the number of vertices when using nauty. All graphs stored from previous versions of GRAPE should have their `canonicalLabelling' component unbound before use with this version. (3) Added function `GraphIsomorphismClassRepresentatives', which should be used for efficient pairwise isomorphism testing of three or more graphs. (4) `CompleteSubgraphsOfGivenSize' now fully documented to include the functionality of finding cliques with given vertex vector-weight sum. (5) `GraphIsomorphism' now documented, and for safety, `GraphIsomorphism' now has a third parameter , behaving as in `IsIsomorphicGraph'. (6) For safety, (possibly old) canonical labellings are no longer copied over to a graph returned by `CopyGraph', `GraphImage' or `NewGroupGraph'. (7) Changed call to `StabChainBaseStrongGenerators' to have three parameters to conform with the changed functionality in this procedure from GAP 4.4.5. (8) Fixed minor problem in Makefile.in (reported by A.E. Brouwer). (9) The standard archive format is now tar.gz, rather than zoo. (10) grape.bib moved to manual.bib. Leonard Soicher June 2006. From Michael.Hartley at nottingham.edu.my Thu Jul 6 02:36:59 2006 From: Michael.Hartley at nottingham.edu.my (Michael Hartley) Date: Thu Jul 6 02:38:38 2006 Subject: [GAP Forum] PQuotients - meaning??? Message-ID: <44AC693B.5010006@nottingham.edu.my> I am trying to find all groups of order 2^8 which are quotients of a certain infinite FP group. I know I could use GQuotients combined with SmallGroup, but checking *every* small group of order 256 takes a long time. And 2^8 is actually a testbed for the real problems - 2^9 and 2^10. I read up on Quotient Methods, and got a feeling the PQuotient may be the method I need. I tried the following - gap> F := FreeGroup("a","b","c"); gap> a := F.1;; b := F.2;; c := F.3;; gap> rels := [a^2, b^2, c^2, (a*c)^2];; gap> W := F/rels; gap> PQuotient(W,2,8); <2-quotient system of 2-class 8 with 55 generators> gap> EpimorphismQuotientSystem(last); [ a, b, c ] -> [ a1, a2, a3 ] gap> Size(Image(last)); 36028797018963968 gap> 2^55; 36028797018963968 Can someone help me understand what all this means? Why is my quotient of order 2^55, and what does that have to do with the parameter '8' I passed to PQuotient? Is this order 2^55 group a covering group for *all* the Quotients of the form I want (this would be nice), or is it something else? Finally, can PQuotient be wrangled to give what I want - a list of all the quotients of order 256 of my FP group W? Yours, Mike H... From arashrafi at kashanu.ac.ir Thu Jul 13 22:06:13 2006 From: arashrafi at kashanu.ac.ir (arashrafi) Date: Thu Jul 13 21:13:19 2006 Subject: [GAP Forum] Similarity Message-ID: Dear Pubbers, I am doing some research with the group G=SL(5,5). I need to the equivalence classes of similarity relation on G. These are the sets [A] = \{ B^tAB | B \in SL(5,5) \}. How can I get a representative for any equivalence classes? Is there a GAP command (or a series of commands) which given a finite matrix group G, would return a chain x_1 , ..., x_t of representatives for the mentioned classes? Thanks in advance for any help you can provide. Sincerely, Alireza ----------------------------------- Ali Reza Ashrafi, Professor of Mathematics Department of Mathematics, Faculty of Science, University of Kashan, Kashan,Iran. Tel: +98 361 5552935 Fax: +98 361 5552930 Mob: +98 912 5148260 E-mail: ashrafi@kashanu.ac.ir ? ? ? ? arashrafi@kashanu.ac.ir ? ? ? ? ashrafi996@yahoo.com ----------------------------------- From reichard at maths.uwa.edu.au Fri Jul 14 02:09:31 2006 From: reichard at maths.uwa.edu.au (Sven Reichard) Date: Fri Jul 14 02:10:09 2006 Subject: [GAP Forum] Similarity In-Reply-To: References: Message-ID: <44B6EECB.2010608@maths.uwa.edu.au> Dear Alireza, the operation ConjugacyClasses returns the equivalence classes you are looking for. For each conjugacy class you can get a representative. gap> g := SL(5,5);; gap> classes := ConjugacyClasses( g );; gap> Length( classes ); 774 gap> representatives := List( classes, Representative );; gap> representatives[1]; [ [ Z(5)^0, 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0, 0*Z(5), 0*Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), Z(5)^0, 0*Z(5), 0*Z(5) ], [ 0*Z(5), 0*Z(5), 0*Z(5), Z(5)^0, 0*Z(5) ], [ 0*Z(5), 0*Z(5), 0*Z(5), 0*Z(5), Z(5)^0 ] ] Hope this helps. Sven. -- Sven Reichard School of Mathematics and Statistics University of Western Australia arashrafi wrote: > Dear Pubbers, > > I am doing some research with the group G=SL(5,5). I need to the > equivalence classes of similarity relation on G. These are the sets > [A] = \{ B^tAB | B \in SL(5,5) \}. How can I get a representative for > any equivalence classes? Is there a GAP command (or a series of > commands) which given a finite matrix group G, would return a chain x_1 > , ..., x_t of representatives for the mentioned classes? > > Thanks in advance for any help you can provide. > > Sincerely, > Alireza > > ----------------------------------- > Ali Reza Ashrafi, > Professor of Mathematics > Department of Mathematics, > Faculty of Science, > University of Kashan, > Kashan,Iran. > > Tel: +98 361 5552935 > Fax: +98 361 5552930 > Mob: +98 912 5148260 > > E-mail: ashrafi@kashanu.ac.ir > arashrafi@kashanu.ac.ir > ashrafi996@yahoo.com > ----------------------------------- > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > From holmespe at for.mat.bham.ac.uk Fri Jul 14 11:20:06 2006 From: holmespe at for.mat.bham.ac.uk (Petra Holmes) Date: Fri Jul 14 11:20:23 2006 Subject: [GAP Forum] chevie In-Reply-To: References: Message-ID: Dear Gap Forum, I want to know whether some elements of GL_6(q), q=2^n, are in the maximal subgroup G_2(q). For example, I have one sort of element that acts as the matrix / S 0 \ \ 0 S^(q-1) / where S is a Singer cycle in GL_3(q). I can describe the others in a similar way. I know I should probably be able to read that sort of thing from the character tables in Chevie, but I haven't been able to interpret them well enough to recognise whether my elements are in there or not. Can anyone explain them for me please? Beth From nickel at mathematik.tu-darmstadt.de Sat Jul 15 16:13:28 2006 From: nickel at mathematik.tu-darmstadt.de (Werner Nickel) Date: Sat Jul 15 16:13:53 2006 Subject: [GAP Forum] PQuotients - meaning??? In-Reply-To: <44AC693B.5010006@nottingham.edu.my> References: <44AC693B.5010006@nottingham.edu.my> Message-ID: <20060715151328.GA11813@mathematik.tu-darmstadt.de> Dear Forum, dear Michael, > I am trying to find all groups of order 2^8 which are quotients of a > certain infinite FP group. this might actually be a fairly difficult problem if the infinite group has lots of quotients of that order. > I know I could use GQuotients combined with SmallGroup, but checking > *every* small group > of order 256 takes a long time. And 2^8 is actually a testbed for the > real problems - 2^9 and 2^10. For the fp-group below you would only need to look at groups with Frattini factor of order 2^3. There are 6190 such groups among the 56092 groups of order 2^8. > I read up on Quotient Methods, and got a feeling the PQuotient may be > the method I need. > > I tried the following - > > gap> F := FreeGroup("a","b","c"); > > gap> a := F.1;; b := F.2;; c := F.3;; > gap> rels := [a^2, b^2, c^2, (a*c)^2];; > gap> W := F/rels; > > gap> PQuotient(W,2,8); > <2-quotient system of 2-class 8 with 55 generators> > > Can someone help me understand what all this means? > Why is my quotient > of order 2^55, and what does that have to do with the parameter '8' I > passed to PQuotient? You have computed the largest 2-quotient of W with 2-class 8. The p-central series of a group G is defined by [G_i,G]G_i^p with G_1=G. The p-class c of G is defined by G_c > 1 and G_{c+1}=1. You get the largest quotient of 2-central class 8 of W by factoring out W_9. This is what the p-quotient computation did. > Is this order 2^55 group a covering group for *all* > the Quotients of the form I want (this would be nice), Yes, it is. But: As a group of order 2^8 has 2-class at most 7, you could do gap> PQuotient(W,2,7); <2-quotient system of 2-class 7 with 38 generators> and get a group of order 2^38 (Each generator gives a factor of 2). In your case, the Frattini quotient has order 2^3, so the maximal 2-class is at most 6: gap> PQuotient(W,2,6); <2-quotient system of 2-class 6 with 26 generators> All quotients of order 2^8 of W are a factor group of this group. > Finally, can PQuotient be wrangled to give what I want - > a list of all the quotients of order 256 of my FP group W? There is an algorithm called p-group generation which can be used to generate all p-groups with certain properties for given p. In your case you want to construct all groups of order 256 that satisfy a given set of relations. I don't see right now how the existing machinery can be used to do this. But I am fairly confident that we can setup some code to do this. With kind regards, Werner Nickel. -- Dr (AUS) Werner Nickel Mathematics with Computer Science Room: S2 15/212 Fachbereich Mathematik, AG 2 Tel: +49 6151 163487 TU Darmstadt Fax: +49 6151 166535 Schlossgartenstr. 7 Email: nickel@mathematik.tu-darmstadt.de D-64289 Darmstadt -- From reichard at maths.uwa.edu.au Sun Jul 16 05:05:10 2006 From: reichard at maths.uwa.edu.au (reichard@maths.uwa.edu.au) Date: Sun Jul 16 05:07:18 2006 Subject: [GAP Forum] Similarity In-Reply-To: <20060714142929.GB5238@jordan.maths.qmul.ac.uk> References: <44B6EECB.2010608@maths.uwa.edu.au> <20060714142929.GB5238@jordan.maths.qmul.ac.uk> Message-ID: <50624.203.217.0.226.1153022710.squirrel@203.217.0.226> Dear Forum, please disregard my previous answer on this topic. As was kindly pointed out by Leonard Soicher I didn't read the problem statement carefully. My apologies for the confusion. Sven Reichard. > Dear Sven, > > On Fri, Jul 14, 2006 at 09:09:31AM +0800, Sven Reichard wrote: >> Dear Alireza, >> >> the operation ConjugacyClasses returns the equivalence classes you are >> looking for. >> > > No. It's B^transpose*A*B below, not B^{-1}*A*B. > >> >[A] = \{ B^tAB | B \in SL(5,5) \}. How can I get a representative for >> >any equivalence classes? > > Best regards, > Leonard > > > From wdj at usna.edu Mon Jul 17 12:51:30 2006 From: wdj at usna.edu (David Joyner) Date: Mon Jul 17 12:54:21 2006 Subject: [GAP Forum] autologging in GAP Message-ID: <44BB79C2.4060306@usna.edu> Hello GAP users: I posted a modified version of the program which automatically logs all GAP sessions to http://cadigweb.ew.usna.edu/~wdj/gap/gap_autologging.html The new version checks if the directory you are logging to exists and prints a warning if it doesn't. (The previous version caused a very mysterious segmentation fault when it tried to write to a non-existent file.) For those of you who use autologging, I recommend you upgrade. - David Joyner From Michael.Hartley at nottingham.edu.my Tue Jul 25 09:07:37 2006 From: Michael.Hartley at nottingham.edu.my (Michael Hartley) Date: Tue Jul 25 09:11:24 2006 Subject: [GAP Forum] Attributes Problem Message-ID: <44C5D149.9010905@nottingham.edu.my> Attributes, once set, can't be unset. This is wonderful if you plan to save processor time. The problem I am facing now is that I am running out of memory. I have plenty of processing time to throw at this problem, because my alternative method of solving it * took a month for this 'test' case * is taking 2 years for the 'real' case I have a large pc group (order 2^26), and I want to trace through its maximal subgroup structure to find certain 'low' index subgroups. Doing this in a breadth-first manner quickly runs out of memory, since the number of subgroups rises exponentially with the index. I have a feeling the -o option won't help me here. I reprogrammed everything to do a depth-first search - however, since the computed MaximalSubgroups are stored as an Attribute, I run out of memory anyway! I only need each set of MaximalSubgroups once. If GAP can't 'forget' the MaximalSubgroups of a PC group, can I instruct it not to 'remember' them in the first place?? Yours, Mike H,.. From graham.ellis at nuigalway.ie Tue Jul 25 14:53:52 2006 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Tue Jul 25 14:54:03 2006 Subject: [GAP Forum] Computer Algebra Positions at Galway Message-ID: <7BC4FCB2B695D64CBF525CEC6437532734F981@EVS1.ac.nuigalway.ie> Dear Forum, We are looking for people with GAP experience to work on a homological algebra project at Galway (closing date 22nd September 2006). I'd be grateful if you could show the following advert to anyone you think might be interested. Thanks, Graham ------------------------------------------------------------------- COMPUTER ALGEBRA POSITIONS AT GALWAY Two 2-year postdoctoral positions and two 2-month visiting positions are available in the Mathematics Department of the National University of Ireland, Galway. The positions are funded by a Marie Curie Transfer of Knowledge grant aimed at designing and implementing algorithms for Computational Homological Algebra. Details of the project are available at http://hamilton.nuigalway.ie/CHA . It is likely that one of the postdocs will have expertise in computer algebra, and that the other will have expertise in computer science (preferably functional programming) and a solid undertanding of basic algebra. The applicants must satisfy certain Marie Curie eligibility criteria which are explained on page 26 of the Transfer of Knowledge Handbook (available at http://hamilton.nuigalway.ie/CHA/SideLinks/eligibility.pdf ). In particular, applicants should have a PhD and not have spent more than 12 months in Ireland recently. Salaries depend on experience. The postdoc salary is approximately 47K euro plus generous expenses. The visitor stipend is approximately 15K euro. The initial closing date for the positions is 22nd September 2006, but applications will continue to be considered until posts have been filled. For further details, or to apply, please contact one of the following: Jim Cruickshank (james.cruickshank@nuigalway.ie) Graham Ellis (graham.ellis@nuigalway.ie) Emil Sk?ldberg (emil.skoldberg@nuigalway.ie) From Michael.Hartley at nottingham.edu.my Wed Jul 26 01:42:22 2006 From: Michael.Hartley at nottingham.edu.my (Michael Hartley) Date: Wed Jul 26 01:44:00 2006 Subject: [GAP Forum] Attributes Problem Message-ID: <44C6BA6E.4070300@nottingham.edu.my> Thanks. I wasn't aware of this function. I'll give it a try. Marco Costantini wrote: > Dear Michael Hartley, > try AttributeValueNotSet > (However, intermediate objets (stored as attributes during the > computation of MaximalSubgroups) are set even if you use > AttributeValueNotSet.) > All the best, > Marco Costantini > Stefan Kohl wrote: One can use `AttributeValueNotSet' to avoid storing memory-consuming attribute values. Have you already tried whether this helps you in your situation? Best wishes, Stefan Kohl From arashrafi at kashanu.ac.ir Wed Jul 26 11:09:12 2006 From: arashrafi at kashanu.ac.ir (arashrafi) Date: Wed Jul 26 10:13:57 2006 Subject: [GAP Forum] Conjugacy Class Message-ID: Dear Pubbers, Thank you very much from Sven Reichard, Leonard and Scott Murray for responding to my last message. The reality is this fact that I need the conjecacy classes of the group PSL(5,5):2, but I know GAP library does not have this group. Is there any possibility for including such information on GAP? All the best, Alireza ----------------------------------- Ali Reza Ashrafi, Professor of Mathematics Department of Mathematics, Faculty of Science, University of Kashan, Kashan,Iran. Tel: +98 361 5552935 Fax: +98 361 5552930 Mob: +98 912 5148260 E-mail: ashrafi@kashanu.ac.ir ? ? ? ? arashrafi@kashanu.ac.ir ? ? ? ? ashrafi996@yahoo.com ----------------------------------- From marcus.bishop at epfl.ch Wed Jul 26 13:27:09 2006 From: marcus.bishop at epfl.ch (Marcus Bishop) Date: Wed Jul 26 13:27:27 2006 Subject: [GAP Forum] Computer Algebra Positions at Galway In-Reply-To: <7BC4FCB2B695D64CBF525CEC6437532734F981@EVS1.ac.nuigalway.ie> References: <7BC4FCB2B695D64CBF525CEC6437532734F981@EVS1.ac.nuigalway.ie> Message-ID: <200607261427.09201.marcus.bishop@epfl.ch> Hi, Graham. I met you at Nikolaus last winter. I've just submitted my GAP package (cohomology of finite p-groups) to the GAP people, and it's in the refereeing process now. With any luck, they'll accept it :) With regards to your posting, would doctoral positions be possible? In short, I'm having problems with my advisor and am in search of someone else to do a PhD with. I see that you're only looking for postdocs, so I imagine that it won't work out, but certainly worth asking, no? Anyway, I hope you're well. Best of luck! -marKus On Tue July 25 2006 15:53, Ellis, Grahamj wrote: > Dear Forum, > > We are looking for people with GAP experience to work on a homological > algebra project at Galway (closing date 22nd September 2006). I'd be > grateful if you could show the following advert to anyone you think might > be interested. > > Thanks, > Graham > > > ------------------------------------------------------------------- > COMPUTER ALGEBRA POSITIONS AT GALWAY > > Two 2-year postdoctoral positions and two 2-month > visiting positions are available in the Mathematics > Department of the National University of Ireland, Galway. > > The positions are funded by a Marie Curie Transfer > of Knowledge grant aimed at designing and implementing > algorithms for Computational Homological Algebra. Details > of the project are available at http://hamilton.nuigalway.ie/CHA . > > It is likely that one of the postdocs will have expertise in > computer algebra, and that the other will have expertise in > computer science (preferably functional programming) and a > solid undertanding of basic algebra. > > The applicants must satisfy certain Marie Curie eligibility > criteria which are explained on page 26 of the Transfer of > Knowledge Handbook (available at > http://hamilton.nuigalway.ie/CHA/SideLinks/eligibility.pdf ). > In particular, applicants should have a PhD and not have > spent more than 12 months in Ireland recently. > > Salaries depend on experience. The postdoc salary is > approximately 47K euro plus generous expenses. The visitor > stipend is approximately 15K euro. > > The initial closing date for the positions is 22nd September > 2006, but applications will continue to be considered until > posts have been filled. > > For further details, or to apply, please contact one of the > following: > > Jim Cruickshank (james.cruickshank@nuigalway.ie) > Graham Ellis (graham.ellis@nuigalway.ie) > Emil Sk?ldberg (emil.skoldberg@nuigalway.ie) > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From marcus.bishop at epfl.ch Wed Jul 26 13:43:51 2006 From: marcus.bishop at epfl.ch (Marcus Bishop) Date: Wed Jul 26 13:44:02 2006 Subject: [GAP Forum] Computer Algebra Positions at Galway In-Reply-To: <7BC4FCB2B695D64CBF525CEC6437532734F981@EVS1.ac.nuigalway.ie> References: <7BC4FCB2B695D64CBF525CEC6437532734F981@EVS1.ac.nuigalway.ie> Message-ID: <200607261443.51905.marcus.bishop@epfl.ch> Please disregard the last message from me. I didn't realize that it was directed to the forum. -marKus From dfh at maths.warwick.ac.uk Thu Jul 27 09:23:17 2006 From: dfh at maths.warwick.ac.uk (Derek Holt) Date: Thu Jul 27 09:25:30 2006 Subject: [GAP Forum] Conjugacy Class In-Reply-To: References: Message-ID: <20060727082317.GA7799@maths.warwick.ac.uk> Dear GAP Forum, Alireza, Here are a couple of GAP functions to construct SL(d,q):2 and PSL(d,q):2, where the :2 is the graph (duality) automorphism. SL(d,q):2 is constructed as a subgroup of GL(2d,q) geenrated by elements (in block form): [ g 0 ] and [ 0 I ] [ 0 g^-T ] [ I 0 ] for g in SL(d,q). Derek Holt. SL2 := function(d,q) sl := SL(d,q); gsl := GeneratorsOfGroup(sl); gens := []; for g in gsl do Add( gens, MatrixByBlockMatrix(BlockMatrix([[1,1,g],[2,2,TransposedMat(g^-1)]],2,2))); od; i := IdentityMat(d,GF(q)); Add( gens, MatrixByBlockMatrix(BlockMatrix([[1,2,i],[2,1,i]],2,2)) ); return Subgroup( GL(2*d,q), gens ); end; PSL2 := function(d,q) sl2 := SL2(d,q); v := Concatenation([1], 0*[1..2*d-1]) * Z(q)^0; return Action(sl2, Orbit(sl2,v,OnLines), OnLines); end; gap> c := ConjugacyClasses( PSL2(5,5) );; gap> Length(c); 465 The conjugacy class computation took a couple of hours. On Wed, Jul 26, 2006 at 01:39:12PM +0330, arashrafi wrote: > Dear Pubbers, > > Thank you very much from Sven Reichard, Leonard and Scott Murray for > responding to my last message. The reality is this fact that I need the > conjecacy classes of the group PSL(5,5):2, but I know GAP library does > not have this group. Is there any possibility for including such > information on GAP? > > All the best, Alireza > ----------------------------------- > Ali Reza Ashrafi, > Professor of Mathematics > Department of Mathematics, > Faculty of Science, > University of Kashan, > Kashan,Iran. > > Tel: +98 361 5552935 > Fax: +98 361 5552930 > Mob: +98 912 5148260 > > E-mail: ashrafi@kashanu.ac.ir >         arashrafi@kashanu.ac.ir >         ashrafi996@yahoo.com > ----------------------------------- > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From magidin at member.ams.org Thu Jul 27 17:57:35 2006 From: magidin at member.ams.org (Arturo Magidin) Date: Thu Jul 27 17:51:11 2006 Subject: [GAP Forum] Questions on defining an action from GL(n,p) Message-ID: Dear Forum, I am pretty new to GAP. I have a problem I want to take a look at, and wanted to ask whether there is already a way to do it with pre-defined utilities, before trying to go ahead and program them myself. Let p be a prime, n a positive integer. Let U be the vector space of dimension n over GF(p); let V be isomorphic to U/\U (the alternating product, of dimension Binomial(n,2)). 1) Is there a way to handle U/\U directly? Right now, I have a vector space of dimension Binomial(n,2), and then I constructed an n x n table, with entries satisfy v[i][j]=-v[j][i]. I then place elements of the canonical basis for GF(p)^{Binomial(n,2)} in the table and refer to them that way. 2) Given an element of GL(n,p), this gives an automorphism (call it f) of U, and this in turn induces an automorphism on U/\U by mapping v/\w to f(v)/\f(w). We can then use this automorphism to define an action on Subspaces(U/\U). The condition I want to check is invariant under that action. Thus, I would like to define the corresponding action, pick an element from each orbit in Subspaces(U/\U), and check the property for that element (I already have a short function to do the checking). What would be the simplest way of doing this? If there is no way of doing this directly, should I take some generating set for GL(n,p), and describe the action explicitly on V in some way? Or can one use the natural action of GL(n,p) to make this faster/simpler? Thanks for any advice you might have. Arturo Magidin magidin@member.ams.org From dima at ntu.edu.sg Fri Jul 28 04:10:59 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Fri Jul 28 04:11:07 2006 Subject: [GAP Forum] Questions on defining an action from GL(n,p) In-Reply-To: Message-ID: Dear Arturo, Most of the functionality you need is built-in. (the distiction GAP makes between matrix groups and G-modules is a bit confusing; it is probably more due to the fact that the corresponding functionality has been developed by different teams, etc) One constructs GL as follows: g0:=GL(n,p); (here n and p must be set to integers, p must be a prime power, say n:=5; p:=3;) Then the natural G-module: g1:=GModuleByMats(GeneratorsOfGroup(g0),GF(p)); (here one can construct the module over an extension of GF(p), too, e.g. the last command will work, when GF(p) is replaced by GF(p^2)) Then its exterior square: w:=WedgeGModule(g1); Then, in order to compute the orbits on subspaces, one should convert it into a matrix group: gw:=Group(w.generators); It acts on W:=FullRowSpace(GF(p),Binomial(n,2)); that has sW:=Subspaces(W);; I would rather do a loop, for each dimension, say, sW:=Subspaces(W,3);; oo:=OrbitsDomain(gw,sW,OnSubspacesByCanonicalBasis);; gives you the orbits. Unfortunately the latter functionality is quite slow. A better option seems to me to construct actions of gw on exterior powers of W (there seems to be no function in GAP to do this for powers bigger than 2, but it's not hard to write you own by suitably extending WedgeGModule) and use built-in Meataxe functionality to decompose them into submodules.) HTH, Dima On 7/28/06 12:57 AM, "Arturo Magidin" wrote: > Dear Forum, > > I am pretty new to GAP. I have a problem I want to take a look at, and > wanted to ask whether there is already a way to do it with pre-defined > utilities, before trying to go ahead and program them myself. > > Let p be a prime, n a positive integer. Let U be the vector space of > dimension n over GF(p); let V be isomorphic to U/\U (the alternating > product, of dimension Binomial(n,2)). > > 1) Is there a way to handle U/\U directly? Right now, I have a vector > space of dimension Binomial(n,2), and then I constructed an n x n > table, with entries satisfy v[i][j]=-v[j][i]. I then place elements > of the canonical basis for GF(p)^{Binomial(n,2)} in the table and > refer to them that way. > > 2) Given an element of GL(n,p), this gives an automorphism (call it f) > of U, and this in turn induces an automorphism on U/\U by mapping > v/\w to f(v)/\f(w). We can then use this automorphism to define an > action on Subspaces(U/\U). > > The condition I want to check is invariant under that action. Thus, > I would like to define the corresponding action, pick an element > from each orbit in Subspaces(U/\U), and check the property for that > element (I already have a short function to do the checking). > > > What would be the simplest way of doing this? If there is no way of > doing this directly, should I take some generating set for GL(n,p), > and describe the action explicitly on V in some way? Or can one use > the natural action of GL(n,p) to make this faster/simpler? > > Thanks for any advice you might have. > > Arturo Magidin > magidin@member.ams.org > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From simone at cs.york.ac.uk Fri Jul 28 17:26:24 2006 From: simone at cs.york.ac.uk (simone@cs.york.ac.uk) Date: Fri Jul 28 17:28:44 2006 Subject: [GAP Forum] hamiltonian paths in the buckyball Message-ID: <2352.144.32.100.30.1154103984.squirrel@www.cs.york.ac.uk> Dear Forum, I would like to list all hamiltonian paths of the Cayley graph of A_5 with respect to the set {(1,2,3,4,5),(1,2)(3,4)} (in other words, the buckyball). The paths start from the identity element and can end anywhere. I would like to have the paths as words on the generators. Is there any plausible way to do this? Thank a lot for your help. Sincerely, Simone Simone Severini http://www-users.york.ac.uk/~ss54 From Rudolf.Zlabinger at chello.at Wed Aug 2 17:48:06 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed Aug 2 17:48:29 2006 Subject: [GAP Forum] Fw: icoshhedral group items maybe of interest? Message-ID: <00ad01c6b653$6e4452b0$eec57254@zlabinger> I resend this mail, as there was obviously technical problems during sending the original message. Best regards, Rudolf Zlabinger ----- Original Message ----- From: "Rudolf Zlabinger" To: "Walter Becker" Cc: "GAP Forum" Sent: Wednesday, August 02, 2006 5:55 PM Subject: Re: icoshhedral group items maybe of interest? > Dear Walter Becker, > > I dealt with fullerene rotations as an exercise for regular permutation > groups. In this case this is the regular permutation group for the > icosahedral group A_5. The rotations of the 60 vertex fullerene is the > regular permuation group of A_5. The remaining problem was, how to label > the > vertices according to the distinct permutation group used. I used the GAP > package GRAPE to construct a graph containing the adjacency matrix > showing, > how to label these vertices. > > The remaining symmetries mentioned by you should be translations, i think, > i > didnt deal with yet. > > I send you a log of a GAP session showing, how to proceed. > > Thank you for your information, best regards, Rudolf Zlabinger > > > ----- Original Message ----- > From: "Walter Becker" > To: > Cc: > Sent: Wednesday, August 02, 2006 3:35 PM > Subject: icoshhedral group items maybe of interest? > > >> >> Dear Drs Zlabinger and McKay: >> >> I ran across the following article on the icosahedral group that may be >> of interest. It was something I was interested in getting ---it contains >> the symmetry adapted functions which one uses in allied work ---in ths >> case dealing with the fullerene vibratonal studies of the C_(60) >> mnolecule. >> >> Aticle appears in Spectroscopy Letters volume 21 issue 4 pp319-339 >> (1988). >> >> there is a previous article dealing with the fullerenes in the same issue >> (the previous article). >> >> Abstract of the article reads >> >> A complete set of the 174 symmetry coordinates for teh C_(60) molecular >> model referred to as footballene is reported. The model is the truncated >> icosahedron (symmetry I_h). Hence in addition to triple degenmeracy also >> quadruple and qunituple degeneracies occur. >> >> Note the other 6 symmety functions here correspond to translations and >> center of mass rotations of the whole molecule ---hence total of 60 time >> 3 >> or 180 total symmety adapted functions. >> >> Hoe this is not old information >> >> >> Walter Becker >> >> >> > -------------- next part -------------- gap> a5:=AlternatingSubgroup(SymmetricGroup(5));; gap> a5_60:=RegularActionHomomorphism(a5);; gap> a5_60_home:=last; gap> a5_60:=Image(a5_60_home);; # group acting on the 60 vertices of fullerene isomorphic to the gap> # icosahedron group A5 gap> # we want to draw now the graph containing the vertex adjacency matrix gap> # in order to label the fullerene according to the group a5_60 found above gap> fullerene:=EdgeOrbitsGraph(a5_60,[[1,2],[1,3],[1,4]]);; gap> Adjacency(fullerene,1); [ 2, 3, 4 ] gap> Adjacency(fullerene,60); [ 57, 58, 59 ] gap> # the full adjacency matrix can also be drawn by: gap> CollapsedAdjacencyMat(Group(()),fullerene);; gap> quit; From mniebrz at gmail.com Fri Aug 4 00:13:13 2006 From: mniebrz at gmail.com (Maciej Niebrzydowski) Date: Fri Aug 4 00:13:25 2006 Subject: [GAP Forum] help needed with creating Z[t,t^-1]/(p(x)) Message-ID: Hello, I would really appreciate any info on how to create in GAP finite rings of the form Z[t,t^-1]/(p(x)), where p(x) is some polynomial (let's say with leading and last coeffs equal to 1). Such structures are known as Alexander quandles (with operation x*y=tx+(1-t)y) and are of importance in knot theory. Thank you Maciej Niebrzydowski From ariel at fismat.umich.mx Fri Aug 4 02:13:42 2006 From: ariel at fismat.umich.mx (Ariel Molina Rueda) Date: Fri Aug 4 02:04:01 2006 Subject: [GAP Forum] RowSpace: Gap3 vs Gap4 Message-ID: <1154654023.4636.33.camel@psycho.zarzamora.com.mx> Hi, Im using GAP GAP4, 4.4.7, i need to use RowSpace but i dotn know how to use it and: gap> ?RowSpace Help: no matching entry found Help: 'RowSpace' is currently undocumented. For details, try ?Undocumented Variables so i found this: http://schmidt.nuigalway.ie/gap/CHAP033.htm but even some of those examples give me errors. All i need to do is to compare two matrices, by comparing what they generate. Is there a GAP4 documentation somewhere? Google only gives GAP v3 docs gap> RowSpace(Rationals, MatTom(TableOfMarks(SmallGroup(16,3)))); Error, usage: FullRowModule( , ) for ring called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue Thanks in advance! --------- GAP4, Version: 4.4.7 of 17-Mar-2006, i686-pc-linux-gnu-gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: TomLib 1.1.2 loaded. From dima at ntu.edu.sg Fri Aug 4 02:42:50 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Fri Aug 4 02:42:08 2006 Subject: [GAP Forum] help needed with creating Z[t,t^-1]/(p(x)) In-Reply-To: Message-ID: I suppose you cannot work with inverses of t directly, but you can introduce one more variable, say s, and the relation st-1=0. That's how one does this in most CA systems. You create the quotient ring of Z[s,t,x,y] modulo the ideal (st-1, xy-tx-(1-t)y). That's assuming your rings are commutative. On 8/4/06 7:13 AM, "Maciej Niebrzydowski" wrote: > Hello, > I would really appreciate any info on how to create in GAP finite rings of > the form > Z[t,t^-1]/(p(x)), where p(x) is some polynomial (let's say with leading and > last coeffs equal to 1). Such structures are known as Alexander quandles > (with operation x*y=tx+(1-t)y) and are of importance in knot theory. > Thank you > Maciej Niebrzydowski > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From tricycle222 at mac.com Fri Aug 4 03:11:15 2006 From: tricycle222 at mac.com (Thomas Rike) Date: Fri Aug 4 03:11:31 2006 Subject: [GAP Forum] RowSpace: Gap3 vs Gap4 In-Reply-To: <1154654023.4636.33.camel@psycho.zarzamora.com.mx> References: <1154654023.4636.33.camel@psycho.zarzamora.com.mx> Message-ID: On Aug 3, 2006, at 6:13 PM, Ariel Molina Rueda wrote: > Hi, > > Im using GAP GAP4, 4.4.7, i need to use RowSpace but i dotn know > how to > use it and: > > gap> ?RowSpace > Help: no matching entry found > Help: 'RowSpace' is currently undocumented. > For details, try ?Undocumented Variables > > > so i found this: http://schmidt.nuigalway.ie/gap/CHAP033.htm > but even some of those examples give me errors. > > All i need to do is to compare two matrices, by comparing what they > generate. > > Is there a GAP4 documentation somewhere? Google only gives GAP v3 docs > Try http://www-gap.mcs.st-and.ac.uk/Doc/manuals.html for the documentation in html and as pdf. IsRowSpace, FullRowSpace and FullMatrixSpace are discussed in section 59.8 Row and Matrix Spaces of the reference manual. Hope this helps, Tom Rike From reichard at maths.uwa.edu.au Fri Aug 4 03:18:36 2006 From: reichard at maths.uwa.edu.au (Sven Reichard) Date: Fri Aug 4 03:19:08 2006 Subject: [GAP Forum] RowSpace: Gap3 vs Gap4 In-Reply-To: <1154654023.4636.33.camel@psycho.zarzamora.com.mx> References: <1154654023.4636.33.camel@psycho.zarzamora.com.mx> Message-ID: <44D2AE7C.8080207@maths.uwa.edu.au> Ariel, you can use VectorSpace, as in the example below. The documentation for GAP4 can be found at http://www.gap-system.org/Doc/doc.html Regards, Sven. gap> V1 := VectorSpace(Rationals, [[1,0],[0,1]]); gap> V2 := VectorSpace(Rationals, [[1,0],[1,1]]); gap> V1 = V2; true -- Sven Reichard School of Mathematics and Statistics University of Western Australia Ariel Molina Rueda wrote: > Hi, > > Im using GAP GAP4, 4.4.7, i need to use RowSpace but i dotn know how to > use it and: > > gap> ?RowSpace > Help: no matching entry found > Help: 'RowSpace' is currently undocumented. > For details, try ?Undocumented Variables > > > so i found this: http://schmidt.nuigalway.ie/gap/CHAP033.htm > but even some of those examples give me errors. > > All i need to do is to compare two matrices, by comparing what they > generate. > > Is there a GAP4 documentation somewhere? Google only gives GAP v3 docs > > gap> RowSpace(Rationals, MatTom(TableOfMarks(SmallGroup(16,3)))); > Error, usage: FullRowModule( , ) for ring called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > > Thanks in advance! > > --------- > GAP4, Version: 4.4.7 of 17-Mar-2006, i686-pc-linux-gnu-gcc > Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, > small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, > id3 2.1, id4 1.0, id5 1.0, id6 1.0, > id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. > Packages: TomLib 1.1.2 loaded. > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > From wdjoyner at gmail.com Sun Aug 6 15:15:17 2006 From: wdjoyner at gmail.com (David Joyner) Date: Sun Aug 6 14:50:31 2006 Subject: [GAP Forum] Re: [GAP Support] Question In-Reply-To: References: Message-ID: <44D5F975.5060402@gmail.com> A. Sadrodini: Maybe this is what you meant: F:=function(d,q) local sl,gsl,i,g,gens; sl:=SL(d,q); gsl:=GeneratorsOfGroup(sl); gens:=[]; for g in gsl do Add(gens,BlockMatrix([[1,1,g],[2,2,TransposedMat(g^-1)]],2,2)); od; i:=IdentityMat(d,GF(q)); Add (gens,BlockMatrix([[1,2,i],[2,1,i]],2,2)); return Subgroup(GL(2*d,q),gens); end; Alexander Konovalov already mentioned some of the errors in the program you had. Here is an example of the above program: gap> gens:=GeneratorsOfGroup(F(2,2));; gap> Display(gens[1]); 1 1 . . . 1 . . . . 1 . . . 1 1 gap> Size(F(2,2)); 12 gap> StructureDescription(F(2,2)); "D12" Hope this helps. - David +++++++++++++++++++++++++++++++++++++++++ ASADR wrote: >-----Original Message----- >From: "ASADR" >To: support@gap-system.org >Date: Sat, 05 Aug 2006 11:47:03 +0330 >Subject: Question > > >Dear Sir\Madam, >I hope you are fine. > >I am a Ph.D. student in pure mathematics at TMU, Tehran-Iran. >I am interested in finite groups and I do my computations with GAP. >when I use the following code: > > > >>F:=function(d,q) >> sl:=SL(d,q); >> gsl:=GeneratorsOfGroup(sl); >> gens:=[]; >> for g in gsl do >> Add(gens,MatrixByBlockMatrix(BlockMatrix([1,1,g],[2,2,TransposedMat(g^ >> >> >-1))]],2,2) > > >> od; >>i:=IdentityMat(d,GF(q)); >>Add (gens,MatrixByBlockMatix(BlockMatrix([1,2,i],[2,1,i))]],2,2) >>return Subgroup(GL(2*d,q),gens); >>end; >> >> > >I get the error(in 2-line) "syntax error: warning:unbounded global variable" > >I would appreciate to resolve this problem. >I would be gratefull to receive any other information on that topic, too. > >Yours Sincerely, >A. Sadrodini >_______________________________________________ >Support mailing list >Support@gap-system.org >http://mail.gap-system.org/mailman/listinfo/support > > > From Rudolf.Zlabinger at chello.at Wed Aug 9 21:34:25 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Aug 10 10:09:49 2006 Subject: [GAP Forum] A5 acting on 62 points Message-ID: <001301c6bbf3$34d13250$eec57254@zlabinger> Dear Forums, i dealt with group A5 and the icosahedron. I was eager to know, how to let act A5 on the 62 endpoints of the 31 axes of the geometric model of the icosahedron group. As it was to expensive to simply use IsomorphicSubgroups to Symmetric Group 62 I developed a way using the action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the attachment. I would like to know, whether there is a simpler way to do it, as I did, shown by the attachment containing a GAP session, only using permutation groups. If there is an error in my procedure, please give also feedback. Best regards, Rudolf Zlabinger -------------- next part -------------- # The Icosahedron group naturally acts on 62 points as they are the 2 endpoints # of the 31 axes the rotations are grouped around as cycles # Here I try to get A5 work on the 62 endpoints of axes # The basic idea is to represent the points by the cosets of the 2,3 and 5 cycles # A5 is based on and let A5 act on them by the Action Homomorphisms # The Images of the Action Homomorphisms of cycle 3 and 5 then are shifted by 30 and 50 to the right to # get disjoint External Sets. The Action Homomorphisms of cycle 3 and 5 then are composed with the # Isomorphisms from the Action Images to the shifted groups. # At the end the Images of the generators of A5 in all 3 resulting Homomorphisms are multiplicated for each A5 # generator to get the generators of A5 acting on the 62 endpoints of the 31 axes. a5:=AlternatingSubgroup(SymmetricGroup(5));; gena5:=GeneratorsOfGroup(a5); gens:=List([2,3,5],x->First(AsList(a5),y->Order(y)=x)); # look for 2,3 and 5 cycles cgroups:=List(gens,x->Group(x)); # calculate the cyclic groups based on the cycles cosets:=List(cgroups,x->RightCosets(a5,x));; # calculate cosets ahoms:=List(cosets,x->ActionHomomorphism(a5,x,OnRight));; # calculate the Action Homomorphisms based on the latter images:=List(ahoms,Image);; # calculate their Images # List(images,StructureDescription); #[ "A5", "A5", "A5" ] # List(images,NrMovedPoints); #[ 30, 20, 12 ] # List(images,x->Length(GeneratorsOfGroup(x))); #[ 3, 3, 3 ] trans:=[ # transpositions (), # to shift the 2 cycle Image by 0 ( 1,31)( 2,32)( 3,33)( 4,34)( 5,35) # to shift the 3 cycle Image by 30 ( 6,36)( 7,37)( 8,38)( 9,39)(10,40) (11,41)(12,42)(13,43)(14,44)(15,45) (16,46)(17,47)(18,48)(19,49)(20,50), ( 1,51)( 2,52)( 3,53)( 4,54)( 5,55)( 6,56) # and to shift the 5 cycle Image by 50 ( 7,57)( 8,58)( 9,59)(10,60)(11,61)(12,62) ]; shifted_images:=List([1..3],x-> images[x]^trans[x]); # calculate shifted images # calculate the Isomorphisms between the Images and the shifted Images isomorphisms:=List([1..3],x->IsomorphismGroups(images[x],shifted_images[x])); # calculate the composed Homomorphisms between A5 and the shifted Images comps:=List([1..3],x-> ahoms[x]*isomorphisms[x]); # calculate the image generators for cycle 2 composed homomorphism # c2gens:=List(gena5,x->Image(comps[1],x)); # calculate the image generators for cycle 3 composed homomorphism # c3gens:=List(gena5,x->Image(comps[2],x)); # calculate the image generators for cycle 5 composed homomorphism # c5gens:=List(gena5,x->Image(comps[3],x)); # collect the generator sets above for list processing # gensets:=[c2gens,c3gens,c5gens]; # ore more simple gensets:=List(comps,x-> List(gena5,y->Image(x,y))); # calculate the generators of the resulting A5 acting on 62 points # the generators can be assembled by permutation multiplication # as the components are disjoint; The number of generators in each set is 3 generators:=List([1..3],x-> gensets[1][x]*gensets[2][x]*gensets[3][x]); # The resulting A5 acting on the 62 endpoints of the 31 axes is finally.. a5_62:=Group(generators); From Rudolf.Zlabinger at chello.at Thu Aug 10 05:12:04 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Aug 10 10:09:52 2006 Subject: [GAP Forum] A5 acting on 52 points Message-ID: <000f01c6bc33$23da4960$eec57254@zlabinger> I dealt with group A5 and the icosahedron. I was eager to know, how to let act A5 on the 62 endpoints of the 31 axes of the geometric model of the icosahedron group. As it was to expensive to simply use IsomorphicSubgroups to Symmetric Group 62 I developed a way using the action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the attachment. I would like to know, whether there is a simpler way to do it, as I did, shown by the attachment containing a GAP session, only using permutation groups. If there is an error in my procedure, please give also feedback. Best regards, Rudolf Zlabinger -------------- next part -------------- # The Icosahedron group naturally acts on 62 points as they are the 2 endpoints # of the 31 axes the rotations are grouped around as cycles # Here I try to get A5 work on the 62 endpoints of axes # The basic idea is to represent the points by the cosets of the 2,3 and 5 cycles # A5 is based on and let A5 act on them by the Action Homomorphisms # The Images of the Action Homomorphisms of cycle 3 and 5 then are shifted by 30 and 50 to the right to # get disjoint External Sets. The Action Homomorphisms of cycle 3 and 5 then are composed with the # Isomorphisms from the Action Images to the shifted groups. # At the end the Images of the generators of A5 in all 3 resulting Homomorphisms are multiplicated for each A5 # generator to get the generators of A5 acting on the 62 endpoints of the 31 axes. a5:=AlternatingSubgroup(SymmetricGroup(5));; gena5:=GeneratorsOfGroup(a5); gens:=List([2,3,5],x->First(AsList(a5),y->Order(y)=x)); # look for 2,3 and 5 cycles cgroups:=List(gens,x->Group(x)); # calculate the cyclic groups based on the cycles cosets:=List(cgroups,x->RightCosets(a5,x));; # calculate cosets ahoms:=List(cosets,x->ActionHomomorphism(a5,x,OnRight));; # calculate the Action Homomorphisms based on the latter images:=List(ahoms,Image);; # calculate their Images # List(images,StructureDescription); #[ "A5", "A5", "A5" ] # List(images,NrMovedPoints); #[ 30, 20, 12 ] # List(images,x->Length(GeneratorsOfGroup(x))); #[ 3, 3, 3 ] trans:=[ # transpositions (), # to shift the 2 cycle Image by 0 ( 1,31)( 2,32)( 3,33)( 4,34)( 5,35) # to shift the 3 cycle Image by 30 ( 6,36)( 7,37)( 8,38)( 9,39)(10,40) (11,41)(12,42)(13,43)(14,44)(15,45) (16,46)(17,47)(18,48)(19,49)(20,50), ( 1,51)( 2,52)( 3,53)( 4,54)( 5,55)( 6,56) # and to shift the 5 cycle Image by 50 ( 7,57)( 8,58)( 9,59)(10,60)(11,61)(12,62) ]; shifted_images:=List([1..3],x-> images[x]^trans[x]); # calculate shifted images # calculate the Isomorphisms between the Images and the shifted Images isomorphisms:=List([1..3],x->IsomorphismGroups(images[x],shifted_images[x])); # calculate the composed Homomorphisms between A5 and the shifted Images comps:=List([1..3],x-> ahoms[x]*isomorphisms[x]); # calculate the image generators for cycle 2 composed homomorphism # c2gens:=List(gena5,x->Image(comps[1],x)); # calculate the image generators for cycle 3 composed homomorphism # c3gens:=List(gena5,x->Image(comps[2],x)); # calculate the image generators for cycle 5 composed homomorphism # c5gens:=List(gena5,x->Image(comps[3],x)); # collect the generator sets above for list processing # gensets:=[c2gens,c3gens,c5gens]; # ore more simple gensets:=List(comps,x-> List(gena5,y->Image(x,y))); # calculate the generators of the resulting A5 acting on 62 points # the generators can be assembled by permutation multiplication # as the components are disjoined; The number of generators in each set is 3 generators:=List([1..3],x-> gensets[1][x]*gensets[2][x]*gensets[3][x]); # The resulting A5 acting on the 62 endpoints of the 31 axes is finally.. a5_62:=Group(generators); From sal at dcs.st-and.ac.uk Thu Aug 10 10:58:22 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Thu Aug 10 10:59:41 2006 Subject: [GAP Forum] Re: [Group-pub-forum] A5 acting on 62 points In-Reply-To: <001301c6bbf3$34d13250$eec57254@zlabinger> References: <001301c6bbf3$34d13250$eec57254@zlabinger> Message-ID: <20060810105822.0cac6869@localhost.localdomain> Here's one simpler solution, doing essentially the same thing you do, but using a little more GAP machinery to do it more concisely: gap> g := AlternatingGroup(5); Alt( [ 1 .. 5 ] ) gap> h2 := Group((1,2)(3,4)); Group([ (1,2)(3,4) ]) gap> h3 := Group((1,2,3)); Group([ (1,2,3) ]) gap> h5 := Group((1,2,3,4,5)); Group([ (1,2,3,4,5) ]) gap> Action(g,Concatenation(RightCosets(g,h2),RightCosets(g,h3), > RightCosets(g,h5)),OnRight); gap> NrMovedPoints(last); 62 Steve On Wed, 9 Aug 2006 22:34:25 +0200 "Rudolf Zlabinger" wrote: > Dear Forums, > > i dealt with group A5 and the icosahedron. I was eager to know, how to let act A5 on the 62 endpoints of the 31 axes of the geometric model of the icosahedron group. As it was to expensive to simply use IsomorphicSubgroups to Symmetric Group 62 I developed a way using the action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the attachment. > > I would like to know, whether there is a simpler way to do it, as I did, shown by the attachment containing a GAP session, only using permutation groups. If there is an error in my procedure, please give also feedback. > > Best regards, Rudolf Zlabinger -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From Rudolf.Zlabinger at chello.at Mon Aug 14 13:35:35 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Mon Aug 14 13:38:32 2006 Subject: [GAP Forum] Fw: [Group-pub-forum] A5 acting on 62 points Message-ID: <001301c6bf9e$24c69590$eec57254@zlabinger> ----- Original Message ----- From: "Steve Linton" To: "Rudolf Zlabinger" Cc: "Group Forum" ; "GAP Forum" Sent: Thursday, August 10, 2006 11:58 AM Subject: Re: [Group-pub-forum] A5 acting on 62 points > Here's one simpler solution, doing essentially the same thing you do, but > using a little more GAP machinery to do it more concisely: > > gap> g := AlternatingGroup(5); > Alt( [ 1 .. 5 ] ) > gap> h2 := Group((1,2)(3,4)); > Group([ (1,2)(3,4) ]) > gap> h3 := Group((1,2,3)); > Group([ (1,2,3) ]) > gap> h5 := Group((1,2,3,4,5)); > Group([ (1,2,3,4,5) ]) > gap> Action(g,Concatenation(RightCosets(g,h2),RightCosets(g,h3), >> RightCosets(g,h5)),OnRight); > > gap> NrMovedPoints(last); > 62 > > Steve > > > > > On Wed, 9 Aug 2006 22:34:25 +0200 > "Rudolf Zlabinger" wrote: > >> Dear Forums, >> >> i dealt with group A5 and the icosahedron. I was eager to know, how to >> let act A5 on the 62 endpoints of the 31 axes of the geometric model of >> the icosahedron group. As it was to expensive to simply use >> IsomorphicSubgroups to Symmetric Group 62 I developed a way using the >> action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the >> attachment. >> >> I would like to know, whether there is a simpler way to do it, as I did, >> shown by the attachment containing a GAP session, only using permutation >> groups. If there is an error in my procedure, please give also feedback. >> >> Best regards, Rudolf Zlabinger > > > -- > Steve Linton School of Computer Science & > Centre for Interdisciplinary Research in Computational Algebra > University of St Andrews Tel +44 (1334) 463269 > http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 > From Rudolf.Zlabinger at chello.at Mon Aug 14 14:37:33 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Mon Aug 14 14:38:09 2006 Subject: [GAP Forum] Fw: A5 acting on 62 points Message-ID: <005101c6bfa6$cc7c4390$eec57254@zlabinger> ----- Original Message ----- From: "Steve Linton" To: "Rudolf Zlabinger" Cc: "Group Forum" ; "GAP Forum" Sent: Thursday, August 10, 2006 11:58 AM Subject: Re: [Group-pub-forum] A5 acting on 62 points > Here's one simpler solution, doing essentially the same thing you do, but > using a little more GAP machinery to do it more concisely: > > gap> g := AlternatingGroup(5); > Alt( [ 1 .. 5 ] ) > gap> h2 := Group((1,2)(3,4)); > Group([ (1,2)(3,4) ]) > gap> h3 := Group((1,2,3)); > Group([ (1,2,3) ]) > gap> h5 := Group((1,2,3,4,5)); > Group([ (1,2,3,4,5) ]) > gap> Action(g,Concatenation(RightCosets(g,h2),RightCosets(g,h3), >> RightCosets(g,h5)),OnRight); > > gap> NrMovedPoints(last); > 62 > > Steve > > > > > On Wed, 9 Aug 2006 22:34:25 +0200 > "Rudolf Zlabinger" wrote: > >> Dear Forums, >> >> i dealt with group A5 and the icosahedron. I was eager to know, how to >> let act A5 on the 62 endpoints of the 31 axes of the geometric model of >> the icosahedron group. As it was to expensive to simply use >> IsomorphicSubgroups to Symmetric Group 62 I developed a way using the >> action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the >> attachment. >> >> I would like to know, whether there is a simpler way to do it, as I did, >> shown by the attachment containing a GAP session, only using permutation >> groups. If there is an error in my procedure, please give also feedback. >> >> Best regards, Rudolf Zlabinger > > > -- > Steve Linton School of Computer Science & > Centre for Interdisciplinary Research in Computational Algebra > University of St Andrews Tel +44 (1334) 463269 > http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From ariel at fismat.umich.mx Thu Aug 17 21:22:01 2006 From: ariel at fismat.umich.mx (Ariel Molina Rueda) Date: Thu Aug 17 21:09:09 2006 Subject: [GAP Forum] Can GAP decode permutations? Message-ID: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> say i have a list and a permuted list. gap> list1:= [ 34, 31, 29, 25, 28, 26 ];; gap> list2:= [ 31, 34, 25, 29, 28, 26 ];; is there a command like, say, gap> WhatsThePermutation(list1, list1); (1,2)(3,4)(5,6) this tells me that in order to obtain list2 i shall permute list1 with (1,2)(3,4)(5,6). ... ... ... Why do i want this? My problem is that i have lists like this: k:=[[2,3,4], [3,5,6,8,9,12,14]] representing rows in a matrix, and i want to have all the permutations and apply them to a matrix, like [2,3,4],[5,6,8,9,14,2] <--where i swap rows 14 and 12 [3,2,4],[5,6,8,9,14,2] <--where i swap rows 14 with 12 and 2 with 3. Note: I cant swap 4 with 5. But i want all the combinations, i found PermutationsList, that gives me the permutations of a list, so i want to know which permutations where made so i can apply them to the matrix. thanks very much! From Rudolf.Zlabinger at chello.at Fri Aug 18 06:30:08 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Aug 18 06:30:46 2006 Subject: Fw: [GAP Forum] A5 acting on 52 points Message-ID: <004501c6c287$5ea0fc60$eec57254@zlabinger> ----- Original Message ----- From: "Rudolf Zlabinger" To: "MCKAY john" Sent: Friday, August 18, 2006 7:21 AM Subject: Re: [GAP Forum] A5 acting on 52 points > Dear Professor McKay; > > as you claim for a justification for my way of work: I need the A5 on 62 > points for technical purposes, as I am interested on multipurpose, > multiposition parts in robotics. In addition to, i needed it in > preparation > to work through a paper "The p-adic Icosahedron" by Gunther Cornelissen > and > Fumiharu Kato, as attached to this message. > > Thank you again for answering me, all the best, Rudolf Zlabinger > > > ----- Original Message ----- > From: "MCKAY john" > To: "Rudolf Zlabinger" > Sent: Friday, August 11, 2006 10:25 AM > Subject: Re: [GAP Forum] A5 acting on 52 points > > >> >> >> Why can ytou not make the acquaintance of someone who knows >> a little about permutatioin groups and has the time to talk with you. >> >> It is not that what you do is wrong - it is that it is essentially >> simple stuff and you ought to be able to learn it yourself. >> Try readng some introductory books. >> >> Why down the 31 axes and look at the action of generators on them. >> >> Best, >> >> John McKay >> >> >> On Thu, 10 Aug 2006, Rudolf Zlabinger wrote: >> >>> >>> I dealt with group A5 and the icosahedron. I was eager to know, how to >>> let act A5 on the 62 endpoints of the 31 axes of the geometric model of >>> the icosahedron group. As it was to expensive to simply use >>> IsomorphicSubgroups to Symmetric Group 62 I developed a way using the >>> action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the >>> attachment. >>> >>> I would like to know, whether there is a simpler way to do it, as I did, >>> shown by the attachment containing a GAP session, only using permutation >>> groups. If there is an error in my procedure, please give also feedback. >>> >>> Best regards, Rudolf Zlabinger >> > From reichard at maths.uwa.edu.au Fri Aug 18 09:20:48 2006 From: reichard at maths.uwa.edu.au (Sven Reichard) Date: Fri Aug 18 09:22:42 2006 Subject: [GAP Forum] Can GAP decode permutations? In-Reply-To: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> References: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> Message-ID: <44E57860.5090004@maths.uwa.edu.au> Ariel Molina Rueda wrote: > say i have a list and a permuted list. > > gap> list1:= [ 34, 31, 29, 25, 28, 26 ];; > gap> list2:= [ 31, 34, 25, 29, 28, 26 ];; > > is there a command like, say, > > gap> WhatsThePermutation(list1, list1); > (1,2)(3,4)(5,6) > > this tells me that in order to obtain list2 i shall permute list1 with > (1,2)(3,4)(5,6). > There is. It may not be the most effective way, but the following works: gap> sym := SymmetricGroup(Length(list1)); Sym( [ 1 .. 6 ] ) gap> RepresentativeAction(sym, list1, list2, Permuted); (1,2)(3,4) Hope this helps, Sven. > ... ... ... > Why do i want this? > > My problem is that i have lists like this: > > k:=[[2,3,4], [3,5,6,8,9,12,14]] > > representing rows in a matrix, and i want to have all the permutations > and apply them to a matrix, like > > [2,3,4],[5,6,8,9,14,2] <--where i swap rows 14 and 12 > [3,2,4],[5,6,8,9,14,2] <--where i swap rows 14 with 12 and 2 with 3. > > Note: I cant swap 4 with 5. > > But i want all the combinations, i found PermutationsList, that gives me > the permutations of a list, so i want to know which permutations where > made so i can apply them to the matrix. > > thanks very much! > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > > -- Sven Reichard School of Mathematics and Statistics University of Western Australia From marc_roeder at web.de Fri Aug 18 10:04:47 2006 From: marc_roeder at web.de (Marc Roeder) Date: Fri Aug 18 10:04:40 2006 Subject: [GAP Forum] Can GAP decode permutations? In-Reply-To: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> References: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> Message-ID: <20060818090447.GA7321@web.de> Hello, PermListList may be what you look for: gap> list1:= [ 34, 31, 29, 25, 28, 26 ];; gap> list2:= [ 31, 34, 25, 29, 28, 26 ];; gap> PermListList(list1,list2); (1,2)(3,4) Best regards, Marc From marc_roeder at web.de Fri Aug 18 11:04:08 2006 From: marc_roeder at web.de (marc_roeder@web.de) Date: Fri Aug 18 11:04:24 2006 Subject: [GAP Forum] Can GAP decode permutations? In-Reply-To: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> References: <1155846121.9495.22.camel@psycho.zarzamora.com.mx> Message-ID: <20060818100408.GA9607@web.de> Hello, PermListList may be what you look for: gap> list1:= [ 34, 31, 29, 25, 28, 26 ];; gap> list2:= [ 31, 34, 25, 29, 28, 26 ];; gap> PermListList(list1,list2); (1,2)(3,4) Best regards, Marc From meinpaidmailaccount at gmx.de Fri Aug 18 19:17:37 2006 From: meinpaidmailaccount at gmx.de (meinpaidmailaccount@gmx.de) Date: Fri Aug 18 19:17:48 2006 Subject: [GAP Forum] simple programming problem Message-ID: <20060818181737.121110@gmx.net> I apologize I have to use this list for a rather simple problem, but I can't seem to understand my mistake. I would like to generate certain square matrices, say in dimension 4, whose 1st and 2nd vectors are already known and, and they have to obey to certain rules. I try to go through vectors in a list called "lstvecs" in order to fill in the 3rd and 4th vector of the matrix x, and, once checked if the rules are fulfilled, would like to append x to a list "listx". Now here is where comes trouble... For some reason, the generated list will have always the SAME matrix as its enries, whereas while still in the loop, the entries are -obviously- equal to the matrices x. I would be glad for any hint on what's going wrong here!! Sincerely, Eva Here is the fragment I'm talking about: listx := []; x := []; x[1] := [1,0,0,0]; x[2] := [0,1,0,0] * (Z(char)^0); i := 1; for a in lstvecs do if (a <> x[1] and a <> x[2] * (Z(char)^0) and a <> [0,0,0,0] * (Z(char)^0) ) then x[3] := a; for b in lstvecs do if (b <> x[1] and b <> [0,0,0,0] * (Z(char)^0) and b <> x[1] and b <> x[3]) then if Determinant([x[1], x[2], x[3], b]) <> 0 * (Z(char)^0) then x[4] := b; Add(listx,x); fi; fi; od; fi; od; -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal f?r Modem und ISDN: http://www.gmx.net/de/go/smartsurfer From dima at ntu.edu.sg Sat Aug 19 04:40:21 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Sat Aug 19 04:39:31 2006 Subject: [GAP Forum] simple programming problem In-Reply-To: <20060818181737.121110@gmx.net> Message-ID: Sometimes you need to make a copy of the object before storing it to the list. Thus, try to replace Add(listx,x); with Add(listx,ShallowCopy(x)); HTH, Dmitrii. -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From ndroock1 at gmail.com Mon Aug 21 15:38:33 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Aug 21 15:38:43 2006 Subject: [GAP Forum] Question about the groups C91:C3 in AllGroups(273). Message-ID: Dear GAP users, I am using GAP 4.4.7, on a PC with Windows XP. For my research I need to know the difference between AllGroups(273)[3] and AllGroups(273)[4] and also how I can construct them other than using AllGroups. Sofar I can only construct one and I can't find any group property which is different between the two. My first question is about constructing C91:C3. AllGroups(273) yields. ["C13 x (C7 : C3)", "C7 x (C13 : C3)", "C91 : C3", "C91 : C3", "C273" ] I have been able to construct one instance of C91:C3 through gap> G:=CyclicGroup(IsPermGroup,3); Group([ (1,2,3) ]) gap> N:=CyclicGroup(91); gap> A:=AutomorphismGroup(N); gap> f:=GroupHomomorphismByImages(G,A,[Elements(G)[2]],[Elements(A)[39]]); [ (1,2,3) ] -> [ Pcgs([ f1, f2 ]) -> [ f1^4*f2^10, f2^9 ] ] gap> NG:=SemiDirectProduct(G,f,N); gap> NG:=SemidirectProduct(G,f,N); gap> StructureDescription(NG); "C91 : C3" How can I construct the other C91:C3 ? ( I have tried mappings to other elements in A ( C12 x C6 ) but none of them eventually results to a different C91:C3 in the SemidirectProduct. My second question is about the difference is between AllGroups(273)[3] and AllGroups(273)[4], they seem isomorphic to me. I have tested various properties and I can't figure out the difference. About AllGroups(273)[3] and AllGroups(273)[4]. I name the groups G1 and G2... gap> G1:=AllGroups(273)[3]; gap> G2:=AllGroups(273)[4]; If the subgroups of G1, G2 are the same and the orders of the elements... then where is the difference? I can't find it in GAP. The following commands illustrate some significant similarities between the groups. gap> StructureDescription(G1); "C91 : C3" gap> StructureDescription(G2); "C91 : C3" gap> List(ConjugacyClassesSubgroups(G1),Representative); [ Group([ ]), C3, Group([ f2 ]), Group([ f3 ]), Group([ f1, f2 ]), Group([ f3, f1 ]), C91, Group([ f3, f2, f1 ]) ] gap> List(List(ConjugacyClassesSubgroups(G1),Representative),StructureDescript$ gap> $cription); [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] gap> List(List(ConjugacyClassesSubgroups(G2),Representative),StructureDescript$ gap> $cription); [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] gap> $cription); [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] gap> Sum(List(Elements(G1),Order)); 7297 gap> Sum(List(Elements(G2),Order)); 7297 Thanks on beforehand for any hints on this particular issue. -- met vriendelijke groet / kind regards, nilo de roock From newman at maths.anu.edu.au Tue Aug 22 00:32:50 2006 From: newman at maths.anu.edu.au (Mike Newman) Date: Tue Aug 22 00:33:34 2006 Subject: [GAP Forum] Question about the groups C91:C3 in AllGroups(273). In-Reply-To: References: Message-ID: Dear Nilo, These groups are known to be difficult to tell apart. Let me first describe them in conventional notation. Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}. Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^9}. You will see the first is identified as [ 273,3 ] and the second as [ 273,4 ]. An easy way to see they are different is to see what happens under a supposed isomorphism. With such a map, the Sylow 7-subgroups must agree and also the Sylow 13-subgroups. After that it is impossible to complete to an isomorphism. This is part of the theory of groups with square-free order which goes back to Otto Hoelder in 1895. In particular if p,q,r are primes such that p > q > r with r dividing both p-1 and q-1 then there are r-1 different non-abelian extensions of the cyclic group with order pq by the cyclic group with order r. Hope this helps, Mike (Newman) On Mon, 21 Aug 2006, Nilo de Roock wrote: > Dear GAP users, > > I am using GAP 4.4.7, on a PC with Windows XP. > > For my research I need to know the difference between AllGroups(273)[3] and > AllGroups(273)[4] and also how I can construct them other than using > AllGroups. Sofar I can only construct one and I can't find any group > property which is different between the two. > > My first question is about constructing C91:C3. AllGroups(273) yields. > > ["C13 x (C7 : C3)", > "C7 x (C13 : C3)", > "C91 : C3", > "C91 : C3", > "C273" ] > > I have been able to construct one instance of C91:C3 through > > gap> G:=CyclicGroup(IsPermGroup,3); > Group([ (1,2,3) ]) > gap> N:=CyclicGroup(91); > > gap> A:=AutomorphismGroup(N); > > gap> f:=GroupHomomorphismByImages(G,A,[Elements(G)[2]],[Elements(A)[39]]); > [ (1,2,3) ] -> [ Pcgs([ f1, f2 ]) -> [ f1^4*f2^10, f2^9 ] ] > gap> NG:=SemiDirectProduct(G,f,N); > gap> NG:=SemidirectProduct(G,f,N); > > gap> StructureDescription(NG); > "C91 : C3" > > How can I construct the other C91:C3 ? ( I have tried mappings to other > elements in A ( C12 x C6 > ) but none of them eventually results to a different C91:C3 in the > SemidirectProduct. > > > > My second question is about the difference is between AllGroups(273)[3] and > AllGroups(273)[4], they seem isomorphic to me. I have tested various > properties and I can't figure out the difference. > > About AllGroups(273)[3] and AllGroups(273)[4]. I name the groups G1 and > G2... > gap> G1:=AllGroups(273)[3]; > > gap> G2:=AllGroups(273)[4]; > > > If the subgroups of G1, G2 are the same and the orders of the > elements... then where is the difference? I can't find it in GAP. > > The following commands illustrate some significant similarities > between the groups. > > gap> StructureDescription(G1); > "C91 : C3" > gap> StructureDescription(G2); > "C91 : C3" > gap> List(ConjugacyClassesSubgroups(G1),Representative); > [ Group([ ]), C3, Group([ f2 ]), Group([ f3 ]), Group([ f1, f2 ]), > Group([ f3, f1 ]), C91, Group([ f3, f2, f1 ]) ] > gap> > List(List(ConjugacyClassesSubgroups(G1),Representative),StructureDescript$ > gap> $cription); > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > gap> > List(List(ConjugacyClassesSubgroups(G2),Representative),StructureDescript$ > gap> $cription); > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > gap> $cription); > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > gap> Sum(List(Elements(G1),Order)); > 7297 > gap> Sum(List(Elements(G2),Order)); > 7297 > > Thanks on beforehand for any hints on this particular issue. > > -- > met vriendelijke groet / kind regards, > nilo de roock > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From jrh_email-gap at yahoo.com Tue Aug 22 03:54:17 2006 From: jrh_email-gap at yahoo.com (Jim Heckman) Date: Tue Aug 22 03:55:02 2006 Subject: [GAP Forum] Question about the groups C91:C3 in AllGroups(273). Message-ID: <200608220254.k7M2ssW1003098@gap-system.org> Right. Perhaps it will help Nilo to see the non-isomorphism by noting that in H1 every element of order 3 conjugates every element of order dividing 91 to either its 16th or its 74th power, while in H2 every element of order 3 conjugates every element of order dividing 91 to either its 9th or its 81st power. -- Jim Heckman On 21-Aug-2006, Mike Newman wrote in message : > Dear Nilo, > > These groups are known to be difficult to tell apart. > > Let me first describe them in conventional notation. > > Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, > ab = ba, a^c = a^2, b^c = b^3}. > > Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, > ab = ba, a^c = a^2, b^c = b^9}. > > You will see the first is identified as [ 273,3 ] and > the second as [ 273,4 ]. > > An easy way to see they are different is to see what happens under a > supposed isomorphism. With such a map, the Sylow 7-subgroups must agree > and also the Sylow 13-subgroups. After that it is impossible to > complete to an isomorphism. > > This is part of the theory of groups with square-free order which goes > back to Otto Hoelder in 1895. In particular if p,q,r are primes such that > p > q > r with r dividing both p-1 and q-1 then there are r-1 different > non-abelian extensions of the cyclic group with order pq by the cyclic > group with order r. > > Hope this helps, > > > Mike (Newman) > > On Mon, 21 Aug 2006, Nilo de Roock wrote: > > > Dear GAP users, > > > > I am using GAP 4.4.7, on a PC with Windows XP. > > > > For my research I need to know the difference between AllGroups(273)[3] > > and > > AllGroups(273)[4] and also how I can construct them other than using > > AllGroups. Sofar I can only construct one and I can't find any group > > property which is different between the two. > > > > My first question is about constructing C91:C3. AllGroups(273) yields. > > > > ["C13 x (C7 : C3)", > > "C7 x (C13 : C3)", > > "C91 : C3", > > "C91 : C3", > > "C273" ] > > > > I have been able to construct one instance of C91:C3 through > > > > gap> G:=CyclicGroup(IsPermGroup,3); > > Group([ (1,2,3) ]) > > gap> N:=CyclicGroup(91); > > > > gap> A:=AutomorphismGroup(N); > > > > gap> > > f:=GroupHomomorphismByImages(G,A,[Elements(G)[2]],[Elements(A)[39]]); > > [ (1,2,3) ] -> [ Pcgs([ f1, f2 ]) -> [ f1^4*f2^10, f2^9 ] ] > > gap> NG:=SemiDirectProduct(G,f,N); > > gap> NG:=SemidirectProduct(G,f,N); > > > > gap> StructureDescription(NG); > > "C91 : C3" > > > > How can I construct the other C91:C3 ? ( I have tried mappings to other > > elements in A ( C12 x C6 > > ) but none of them eventually results to a different C91:C3 in the > > SemidirectProduct. > > > > > > > > My second question is about the difference is between AllGroups(273)[3] > > and > > AllGroups(273)[4], they seem isomorphic to me. I have tested various > > properties and I can't figure out the difference. > > > > About AllGroups(273)[3] and AllGroups(273)[4]. I name the groups G1 and > > G2... > > gap> G1:=AllGroups(273)[3]; > > > > gap> G2:=AllGroups(273)[4]; > > > > > > If the subgroups of G1, G2 are the same and the orders of the > > elements... then where is the difference? I can't find it in GAP. > > > > The following commands illustrate some significant similarities > > between the groups. > > > > gap> StructureDescription(G1); > > "C91 : C3" > > gap> StructureDescription(G2); > > "C91 : C3" > > gap> List(ConjugacyClassesSubgroups(G1),Representative); > > [ Group([ ]), C3, Group([ f2 ]), Group([ f3 ]), Group([ f1, f2 ]), > > Group([ f3, f1 ]), C91, Group([ f3, f2, f1 ]) ] > > gap> > > List(List(ConjugacyClassesSubgroups(G1),Representative),StructureDescript$ > > gap> $cription); > > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > > gap> > > List(List(ConjugacyClassesSubgroups(G2),Representative),StructureDescript$ > > gap> $cription); > > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > > gap> $cription); > > [ "1", "C3", "C7", "C13", "C7 : C3", "C13 : C3", "C91", "C91 : C3" ] > > gap> Sum(List(Elements(G1),Order)); > > 7297 > > gap> Sum(List(Elements(G2),Order)); > > 7297 > > > > Thanks on beforehand for any hints on this particular issue. From marc_roeder at web.de Tue Aug 22 08:46:31 2006 From: marc_roeder at web.de (Marc Roeder) Date: Tue Aug 22 08:46:48 2006 Subject: [GAP Forum] simple programming problem Message-ID: <1107775692@web.de> Hello, > For some reason, the generated list will have always the SAME matrix as its > entries, whereas while still in the loop, the entries are -obviously- equal to > the matrices x. Your problem seems to be pointer-related. The program manipulates the variable x. But x is just a pointer. Add(listx,x) adds the pointer x to the list listx. So listx contains the same pointer over and over again. The manual has some information on this topic in section "12. Objects and Elements". Here is an example: gap> a:=[1,2]; [ 1, 2 ] gap> list:=[a]; [ [ 1, 2 ] ] gap> a[4]:=9;; gap> list; [ [ 1, 2,, 9 ] ] gap> Add(list,a); gap> list; [ [ 1, 2,, 9 ], [ 1, 2,, 9 ] ] gap> a[3]:=10;;list; [ [ 1, 2, 10, 9 ], [ 1, 2, 10, 9 ] ] Hope this helps, marc ______________________________________________________________________ XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club! Jetzt gratis testen! http://freemail.web.de/home/landingpad/?mc=021130 From ndroock1 at gmail.com Tue Aug 22 10:04:01 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Tue Aug 22 10:04:06 2006 Subject: [GAP Forum] AllGroups(273)[3] revisited. Message-ID: Dear Mike (Newman), Thank you very much for your reply! You wrote that Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}., Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^9}. are presentations for the groups of type C91 : C3 and are isomorphic to AllGroups(273)[3] and AllGroups(273)[4] I tried to create these groups to have GAP confirm an isomorphism but until now I failed. For example, for A4, I would do it as follows. ( A4. a^3=1,b^2=1, a*b*a=b*a^-1*b. ) F:=FreeGroup(2);; a:=F.1;; gap> b:=F.2;; H1:=F/[a^3,b^2,a*b*a*b^-1*a*b^-1];; gap> Size(H1); 12 gap> StructureDescription(H1); "A4" gap> List(AllGroups(12),StructureDescription); [ "C3 : C4", "C12", "A4", "D12", "C6 x C2" ] gap> IsomorphismGroups(H1,AllGroups(12)[3]); [ f1, f2 ] -> [ f1*f3, f2*f3 ] And then I get the isomorphism confirmed. Now for H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}, I tried the same. gap> H1:=F/[a^7,b^13,a^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-3]; gap> Size(H1); infinity gap> I get a group of inifite order. What am I doing wrong here?? Any hints? Thanks on beforehand for any help. -- met vriendelijke groet / kind regards, nilo de roock From sal at dcs.st-and.ac.uk Tue Aug 22 10:32:35 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Tue Aug 22 10:32:43 2006 Subject: [GAP Forum] AllGroups(273)[3] revisited. In-Reply-To: References: Message-ID: <20060822103235.3042ad6e@caolila> I think Mike Newman's reply contained a typo: > Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}., ^^^^ this should be c^3 and likewise for H2. Steve On Tue, 22 Aug 2006 11:04:01 +0200 "Nilo de Roock" wrote: > Dear Mike (Newman), > > Thank you very much for your reply! > > > You wrote that > > Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}., > > Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^9}. > > are presentations for the groups of type C91 : C3 and are isomorphic to > AllGroups(273)[3] and AllGroups(273)[4] > > I tried to create these groups to have GAP confirm an isomorphism but until > now I failed. > > > For example, for A4, I would do it as follows. ( A4. a^3=1,b^2=1, > a*b*a=b*a^-1*b. ) > > F:=FreeGroup(2);; a:=F.1;; gap> b:=F.2;; > > H1:=F/[a^3,b^2,a*b*a*b^-1*a*b^-1];; > > gap> Size(H1); > 12 > gap> StructureDescription(H1); > "A4" > > gap> List(AllGroups(12),StructureDescription); > [ "C3 : C4", "C12", "A4", "D12", "C6 x C2" ] > gap> IsomorphismGroups(H1,AllGroups(12)[3]); > [ f1, f2 ] -> [ f1*f3, f2*f3 ] > > And then I get the isomorphism confirmed. > > > > Now for H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}, > I tried the same. > > gap> H1:=F/[a^7,b^13,a^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-3]; > > gap> Size(H1); > infinity > gap> > > I get a group of inifite order. What am I doing wrong here?? > > Any hints? Thanks on beforehand for any help. > > -- > met vriendelijke groet / kind regards, > nilo de roock > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From ndroock1 at gmail.com Tue Aug 22 11:36:59 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Tue Aug 22 11:37:07 2006 Subject: [GAP Forum] AllGroups(273)[3] ( final ) Message-ID: Thanks Mike, Jim, Steve, ( I should have seen that typo myself, it's a 'logical' one. ) Anyway, case closed. Here is the proof. gap> H1:=F/[a^7,b^13,c^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-3]; gap> H2:=F/[a^7,b^13,c^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-9]; gap> IsomorphismGroups(H1,AllGroups(273)[3]); [ f1, f2, f3 ] -> [ f2, f3, f1 ] gap> IsomorphismGroups(H2,AllGroups(273)[3]); fail gap> IsomorphismGroups(H2,AllGroups(273)[4]); [ f1, f2, f3 ] -> [ f2^3, f3^8, f1^2*f2^6*f3^5 ] -- met vriendelijke groet / kind regards, nilo de roock From dima at ntu.edu.sg Tue Aug 22 11:43:35 2006 From: dima at ntu.edu.sg (Dima Pasechnik) Date: Tue Aug 22 11:42:43 2006 Subject: [GAP Forum] AllGroups(273)[3] revisited. In-Reply-To: References: Message-ID: <1156243415.4325.1.camel@nie5-3-pehead.niestaff.cluster.nie.edu.sg> there are typos in relations here: a^3=1 must be c^3=1 everywhere. On Tue, 2006-08-22 at 11:04 +0200, Nilo de Roock wrote: > Dear Mike (Newman), > > Thank you very much for your reply! > > > You wrote that > > Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}., > > Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^9}. > > are presentations for the groups of type C91 : C3 and are isomorphic to > AllGroups(273)[3] and AllGroups(273)[4] > > I tried to create these groups to have GAP confirm an isomorphism but until > now I failed. > > > For example, for A4, I would do it as follows. ( A4. a^3=1,b^2=1, > a*b*a=b*a^-1*b. ) > > F:=FreeGroup(2);; a:=F.1;; gap> b:=F.2;; > > H1:=F/[a^3,b^2,a*b*a*b^-1*a*b^-1];; > > gap> Size(H1); > 12 > gap> StructureDescription(H1); > "A4" > > gap> List(AllGroups(12),StructureDescription); > [ "C3 : C4", "C12", "A4", "D12", "C6 x C2" ] > gap> IsomorphismGroups(H1,AllGroups(12)[3]); > [ f1, f2 ] -> [ f1*f3, f2*f3 ] > > And then I get the isomorphism confirmed. > > > > Now for H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}, > I tried the same. > > gap> H1:=F/[a^7,b^13,a^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-3]; > > gap> Size(H1); > infinity > gap> > > I get a group of inifite order. What am I doing wrong here?? > > Any hints? Thanks on beforehand for any help. > From newman at maths.anu.edu.au Tue Aug 22 11:44:52 2006 From: newman at maths.anu.edu.au (Mike Newman) Date: Tue Aug 22 11:45:32 2006 Subject: [GAP Forum] AllGroups(273)[3] revisited. In-Reply-To: References: Message-ID: Dear Nico, Sorry, as Steve Linton pointed out there was a typo. Mike (Newman) From gerhard.hiss at math.rwth-aachen.de Fri Aug 25 12:36:37 2006 From: gerhard.hiss at math.rwth-aachen.de (Gerhard Hiss) Date: Fri Aug 25 12:36:51 2006 Subject: [GAP Forum] GAP package IRREDSOL Message-ID: Dear Members of the GAP forum, this is to announce the new GAP package IRREDSOL by Burkhard Hoefling. This package "provides a library of all irreducible solvable subgroups of GL(n,q), up to conjugacy, for small values of n and q." Information concerning IRREDSOL is available on the GAP web page http://www.gap-system.org/Packages/irredsol.html. Please send any questions concerning the package to the author (b.hoefling@tu-bs.de). Gerhard Hiss August 25, 2006 -- Gerhard Hiss, Lehrstuhl D fuer Mathematik, RWTH Aachen, 52056 Aachen Tel.: (+49) (0) 241 / 80-94543 From Rudolf.Zlabinger at chello.at Sun Aug 27 18:25:12 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Sun Aug 27 18:26:05 2006 Subject: [GAP Forum] Product of complexes Message-ID: <001c01c6c9fd$c158d0d0$eec57254@zlabinger> Dear Forum, does anybody know a GAP function to directly calculate the product of complexes of groups or semigroups, that means the set of the ordinary products of the cartesian product of subsets of elements of a group as outlined in the trivial example below: a4:=AlternatingGroup(4);; a5:=AlternatingGroup(5);; # as examples of subsets taken as lists a4a5:=AsSet(List(Cartesian(AsList(a4),AsList(a5)),Product));; # this is a circumscription of the function I am looking for groupa4a5:=AsGroup(a4a5);; # in this case, the result is a group, of course StructureDescription(groupa4a5); "A5" # of course, as a4 is a subgroup of a5 The subsets has not to be subgroups or groups as in the example above, rather any ordinary sets of group elements. Thank you, Rudolf Zlabinger From jjm at dcs.st-and.ac.uk Tue Aug 29 11:26:20 2006 From: jjm at dcs.st-and.ac.uk (John McDermott) Date: Tue Aug 29 11:27:21 2006 Subject: [GAP Forum] changing right- to left multiplication Message-ID: <9A7A022E-1DA3-4599-A4DB-2D7E3CEAE4CD@cs.st-and.ac.uk> Forwarded message: From: David Romano Date: 25 August 2006 22:40:36 BDT To: forum@gap-system.org Subject: changing right- to left multiplication Hi, I'm very new to GAP, and am for now primarily interested in using GAP as a pedagogical tool for teaching group theory (and possibly ring theory). At the moment, what I would like to be able to do is have students use standard cycle notation for permutation groups, but have multiplication reflect composition of transformations being read right to left. Is there any way to do this? I searched through the GAP manual and did a few searches on the forum archive, but have not been able to make any headway. Thank you for any help you can provide, David Romano -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From reiner at iem.uni-due.de Tue Aug 22 11:36:30 2006 From: reiner at iem.uni-due.de (Reiner Staszewski) Date: Tue Aug 29 11:29:45 2006 Subject: [GAP Forum] AllGroups(273)[3] revisited. In-Reply-To: References: Message-ID: <44EADE2E.1040608@iem.uni-due.de> Nilo de Roock wrote: > Dear Mike (Newman), > > Thank you very much for your reply! > > > You wrote that > > Put H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}., > > Put H2 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^9}. > > are presentations for the groups of type C91 : C3 and are isomorphic to > AllGroups(273)[3] and AllGroups(273)[4] > > I tried to create these groups to have GAP confirm an isomorphism but until > now I failed. > > > For example, for A4, I would do it as follows. ( A4. a^3=1,b^2=1, > a*b*a=b*a^-1*b. ) > > F:=FreeGroup(2);; a:=F.1;; gap> b:=F.2;; > > H1:=F/[a^3,b^2,a*b*a*b^-1*a*b^-1];; > > gap> Size(H1); > 12 > gap> StructureDescription(H1); > "A4" > > gap> List(AllGroups(12),StructureDescription); > [ "C3 : C4", "C12", "A4", "D12", "C6 x C2" ] > gap> IsomorphismGroups(H1,AllGroups(12)[3]); > [ f1, f2 ] -> [ f1*f3, f2*f3 ] > > And then I get the isomorphism confirmed. > > > > Now for H1 = {a,b,c | a^7 = b^13 = a^3 = 1, ab = ba, a^c = a^2, b^c = b^3}, There is a misprint. You have to use c^3 = 1 instead of a^3 = 1. > I tried the same. > > gap> H1:=F/[a^7,b^13,a^3,a*b*a^-1*b^-1,a^c*a^-2,b^c*b^-3]; > > gap> Size(H1); > infinity > gap> > > I get a group of inifite order. What am I doing wrong here?? > > Any hints? Thanks on beforehand for any help. > Hope that helps, Reiner From Rudolf.Zlabinger at chello.at Fri Aug 18 06:24:12 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue Aug 29 11:29:52 2006 Subject: Fw: [GAP Forum] A5 acting on 52 points Message-ID: <002c01c6c286$8a9a92f0$eec57254@zlabinger> ----- Original Message ----- From: "Rudolf Zlabinger" To: "MCKAY john" Sent: Friday, August 18, 2006 7:21 AM Subject: Re: [GAP Forum] A5 acting on 52 points > Dear Professor McKay; > > as you claim for a justification for my way of work: I need the A5 on 62 > points for technical purposes, as I am interested on multipurpose, > multiposition parts in robotics. In addition to, i needed it in > preparation > to work through a paper "The p-adic Icosahedron" by Gunther Cornelissen > and > Fumiharu Kato, as attached to this message. > > Thank you again for answering me, all the best, Rudolf Zlabinger > > > ----- Original Message ----- > From: "MCKAY john" > To: "Rudolf Zlabinger" > Sent: Friday, August 11, 2006 10:25 AM > Subject: Re: [GAP Forum] A5 acting on 52 points > > >> >> >> Why can ytou not make the acquaintance of someone who knows >> a little about permutatioin groups and has the time to talk with you. >> >> It is not that what you do is wrong - it is that it is essentially >> simple stuff and you ought to be able to learn it yourself. >> Try readng some introductory books. >> >> Why down the 31 axes and look at the action of generators on them. >> >> Best, >> >> John McKay >> >> >> On Thu, 10 Aug 2006, Rudolf Zlabinger wrote: >> >>> >>> I dealt with group A5 and the icosahedron. I was eager to know, how to >>> let act A5 on the 62 endpoints of the 31 axes of the geometric model of >>> the icosahedron group. As it was to expensive to simply use >>> IsomorphicSubgroups to Symmetric Group 62 I developed a way using the >>> action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in the >>> attachment. >>> >>> I would like to know, whether there is a simpler way to do it, as I did, >>> shown by the attachment containing a GAP session, only using permutation >>> groups. If there is an error in my procedure, please give also feedback. >>> >>> Best regards, Rudolf Zlabinger >> > From epostma at win.tue.nl Tue Aug 29 13:53:38 2006 From: epostma at win.tue.nl (Erik Postma) Date: Tue Aug 29 13:53:54 2006 Subject: [GAP Forum] changing right- to left multiplication In-Reply-To: <9A7A022E-1DA3-4599-A4DB-2D7E3CEAE4CD@cs.st-and.ac.uk> References: <9A7A022E-1DA3-4599-A4DB-2D7E3CEAE4CD@cs.st-and.ac.uk> Message-ID: <20060829145338.21d41386@sint-nicolaas.kicks-ass.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > From: David Romano > Date: 25 August 2006 22:40:36 BDT > To: forum@gap-system.org > Subject: changing right- to left multiplication > > > Hi, > > I'm very new to GAP, and am for now primarily interested in using > GAP as a pedagogical tool for teaching group theory (and possibly > ring theory). > > At the moment, what I would like to be able to do is have students > use standard cycle notation for permutation groups, but have > multiplication reflect composition of transformations being read > right to left. Is there any way to do this? > > I searched through the GAP manual and did a few searches on the > forum archive, but have not been able to make any headway. > > Thank you for any help you can provide, > David Romano Hi David, I could see four ways to do this, but I'm afraid none will be really satisfactory for you; it is quite possible that somebody smarter than me will chime in later with a better solution. Of course there is the 'cheating way': gap> mul := function (x, y) > return y * x; > end; function( x, y ) ... end gap> mul ((1, 2), (2, 3)); (1,2,3) or a bit more sophisticated: gap> mul := function (arg) > local result, i; > result := arg [1]; > for i in arg {[2 .. Length (arg)]} do > result := i * result; > od; > return result; > end; function( arg ) ... end gap> mul ((1, 2), (2, 3), (3, 4)); (1,2,3,4) So this involves using a different function for multiplication. I guess you'd have thought of this solution yourself. Another way would be something like the following. I haven't worked this out, but it wouldn't be too difficult: Do some tricks with new families; introduce a function rmp (for right-multiplying permutation); then: gap> p12 := rmp ((1, 2)); rmp(1,2) gap> p23 := rmp ((2, 3)); rmp(2,3) gap> p12 * p23; rmp(1,2,3) So this involves using a different function for construction of permutations. However, to be able to use '*' to multiply permutations entered in the normal way, which is what I guess you want, seems to me to be far more difficult. One way would be to hack the GAP parser to understand a right multiplying permutation whenever you enter a permutation, but then all of the library code suddenly becomes invalid. So you'd have to have the library code parsed by a parser that understands permutations the way they are understood now and a different parser for your students' input -- a can of worms I would rather not open. The last alternative that I can think of would be to write a layer in between GAP and your students' input -- a small shell application that waits for students to enter their computations, then feeds this into GAP, and feeds the output back to your students, making multiplication work the other way round in every translation. This might be easiest if you'd want your students to do a limited set of computations only. Then it'd be easiest to inverse the permutations for every translation, since (a^-1 * b^-1)^-1 = b * a. Hope this helps, best wishes, - -- Erik Postma This message should be signed with the key at / Dit bericht zou ondertekend moeten zijn met de sleutel: http://www.win.tue.nl/~epostma/gpg.key More info / Meer info (in het Engels): http://www.win.tue.nl/~epostma/signing.html -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFE9DjVDmbL6DhzfRwRAqAuAJ9/y4FE8sSbRVi6WyM860MSqvE+/ACgqnRD foazo0jR6eBYjUNLRnYNtd0= =9FNk -----END PGP SIGNATURE----- From Rudolf.Zlabinger at chello.at Tue Aug 29 14:06:50 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue Aug 29 14:07:43 2006 Subject: [GAP Forum] A5 acting on 52 points References: <002c01c6c286$8a9a92f0$eec57254@zlabinger> Message-ID: <005001c6cb6b$fe3ba9e0$eec57254@zlabinger> I am so sorry, this message was erroneously forwarded twice due to technical problems, best regards, Rudolf Zlabinger ----- Original Message ----- From: "Rudolf Zlabinger" To: "GAP Forum" Sent: Friday, August 18, 2006 7:24 AM Subject: Fw: [GAP Forum] A5 acting on 52 points > > ----- Original Message ----- > From: "Rudolf Zlabinger" > To: "MCKAY john" > Sent: Friday, August 18, 2006 7:21 AM > Subject: Re: [GAP Forum] A5 acting on 52 points > > >> Dear Professor McKay; >> >> as you claim for a justification for my way of work: I need the A5 on 62 >> points for technical purposes, as I am interested on multipurpose, >> multiposition parts in robotics. In addition to, i needed it in >> preparation >> to work through a paper "The p-adic Icosahedron" by Gunther Cornelissen >> and >> Fumiharu Kato, as attached to this message. >> >> Thank you again for answering me, all the best, Rudolf Zlabinger >> >> >> ----- Original Message ----- >> From: "MCKAY john" >> To: "Rudolf Zlabinger" >> Sent: Friday, August 11, 2006 10:25 AM >> Subject: Re: [GAP Forum] A5 acting on 52 points >> >> >>> >>> >>> Why can ytou not make the acquaintance of someone who knows >>> a little about permutatioin groups and has the time to talk with you. >>> >>> It is not that what you do is wrong - it is that it is essentially >>> simple stuff and you ought to be able to learn it yourself. >>> Try readng some introductory books. >>> >>> Why down the 31 axes and look at the action of generators on them. >>> >>> Best, >>> >>> John McKay >>> >>> >>> On Thu, 10 Aug 2006, Rudolf Zlabinger wrote: >>> >>>> >>>> I dealt with group A5 and the icosahedron. I was eager to know, how to >>>> let act A5 on the 62 endpoints of the 31 axes of the geometric model of >>>> the icosahedron group. As it was to expensive to simply use >>>> IsomorphicSubgroups to Symmetric Group 62 I developed a way using the >>>> action homomorphisms on the 2, 3 and 5 cycles cosets, as outlined in >>>> the >>>> attachment. >>>> >>>> I would like to know, whether there is a simpler way to do it, as I >>>> did, >>>> shown by the attachment containing a GAP session, only using >>>> permutation >>>> groups. If there is an error in my procedure, please give also >>>> feedback. >>>> >>>> Best regards, Rudolf Zlabinger >>> >> > -------------------------------------------------------------------------------- > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From hulpke at math.colostate.edu Tue Aug 29 15:49:52 2006 From: hulpke at math.colostate.edu (Alexander Hulpke) Date: Tue Aug 29 15:50:38 2006 Subject: [GAP Forum] changing right- to left multiplication In-Reply-To: <9A7A022E-1DA3-4599-A4DB-2D7E3CEAE4CD@cs.st-and.ac.uk> References: <9A7A022E-1DA3-4599-A4DB-2D7E3CEAE4CD@cs.st-and.ac.uk> Message-ID: <935578A7-8726-405B-A20C-0BB20EC21030@math.colostate.edu> Dear Forum, Dear David Romano, > > I'm very new to GAP, and am for now primarily interested in using > GAP as a pedagogical tool for teaching group theory (and possibly > ring theory). > > At the moment, what I would like to be able to do is have students > use standard cycle notation for permutation groups, but have > multiplication reflect composition of transformations being read > right to left. Is there any way to do this? No. Alas most textbooks in the US introduce permutation groups acting from the left (which most research-level texts in group theory act from the right. When we designed GAP we decided on action from the right and this is implicitly built into much of the code. Short of recoding the whole system it would be impossible to redefine the permutation multiplication and have the system work consistently. Considering the use for teaching, I found that students had little problems with the fact that the computer multiplied the permutations the other way round (though Gallian's 5th edition still makes a mistake with it ...) (You also might find some useful related material on an old course homepafge of mine: http://www.math.colostate.edu/~hulpke/lectures/m366/index.html) Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From KnDMcT at aol.com Wed Aug 30 17:20:09 2006 From: KnDMcT at aol.com (KnDMcT@aol.com) Date: Wed Aug 30 17:20:34 2006 Subject: [GAP Forum] ADD_TO_LIST_ENTRIES_PLIST_RANGE Message-ID: <592.36d23f7.322714b9@aol.com> I sent the following question to support at gap-system.org yesterday, but it bounced back as undeliverable. Can anyone on the forum mail list help? Is it possible to get a brief description of the GAP function ADD_TO_LIST_ENTRIES_PLIST_RANGE which occurs in the FactInt package file mpqs.gi as: ADD_TO_LIST_ENTRIES_PLIST_RANGE (Sieve,[Pos1,Pos1 + qi..Pos1 + RangeTable[i]],-Weight); if Pos2 <> Pos1 then ADD_TO_LIST_ENTRIES_PLIST_RANGE (Sieve,[Pos2,Pos2 + qi..Pos2 + RangeTable[i]],-Weight); fi; I'm trying to decipher this call and have been unable to locate anything in the manual or on the GAP web site. I assume that it manipulates the first argument which is a list of integers, but can find no documentation. The second argument appears to be a list of indices into the first argument, but I have no clue what the third argument is. Thanks, Doug McTavish GAP novice From sal at dcs.st-and.ac.uk Wed Aug 30 19:53:49 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Wed Aug 30 19:54:32 2006 Subject: [GAP Forum] ADD_TO_LIST_ENTRIES_PLIST_RANGE In-Reply-To: <592.36d23f7.322714b9@aol.com> References: <592.36d23f7.322714b9@aol.com> Message-ID: <20060830195349.6401c0fb@caolila> Dear GAP Forum, On Wed, 30 Aug 2006 12:20:09 EDT KnDMcT@aol.com wrote: > > I sent the following question to support at gap-system.org yesterday, but it > bounced back as undeliverable. Can anyone on the forum mail list help? Sorry about the bounce, we have had some problems with our mail server. > > Is it possible to get a brief description of the GAP function > ADD_TO_LIST_ENTRIES_PLIST_RANGE which occurs in the FactInt package file mpqs.gi as: > > ADD_TO_LIST_ENTRIES_PLIST_RANGE > (Sieve,[Pos1,Pos1 + qi..Pos1 + RangeTable[i]],-Weight); > if Pos2 <> Pos1 > then ADD_TO_LIST_ENTRIES_PLIST_RANGE > (Sieve,[Pos2,Pos2 + qi..Pos2 + RangeTable[i]],-Weight); fi; > > I'm trying to decipher this call and have been unable to locate anything in > the manual or on the GAP web site. I assume that it manipulates the first > argument which is a list of integers, but can find no documentation. The second > argument appears to be a list of indices into the first argument, but I have > no clue what the third argument is. > > Thanks, > > Doug McTavish > GAP novice > First a couple of warnings. This function is undocumented, meaning that it might be removed or changed in a future release of GAP, and its name is all in capitals, which is almost always a clue that something is an internal function not really intended for public use. Such functions may, for performance reasons, do things like not checking their arguments but crashing or corrupting the GAP session if called with the wrong types of arguments. You have been warned. In fact ADD_TO_LIST_ENTRIES_LIST_RANGE( , , ) will, provided that is a plain list, a range and a small integer (between -2^28 and 2^28-1 on 32 bit systems) do the same as the GAP loop for i in do [i] := [i]+; od; but faster. Steve -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From Frank.Luebeck at math.rwth-aachen.de Fri Sep 1 15:11:41 2006 From: Frank.Luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Fri Sep 1 15:13:20 2006 Subject: [GAP Forum] New GAP package Browse Message-ID: <20060901141141.GD18400@math.rwth-aachen.de> Dear GAP Forum, We are happy to announce a beta-release (0.9) of the new GAP 4 package "Browse". The focus of this package is the interactive display of two-dimensional arrays of data, for example character tables, on text terminals. The package provides a low level interface to the C library ncurses. This allows for handling windows displaying text with some markup and colors, using the available capabilities of a terminal. Based on this, the GAP function NCurses.BrowseGeneric deals with displaying two-dimensional arrays of data, handles labels for rows and columns, searching, sorting, binding keys to actions, ... Finally, there are several applications of this function, including a method for browsing character tables, several games, and an interface for demos. More information and the package archive can be found in http://www.math.rwth-aachen.de/~Browse/ (and soon in the usual location under www.gap-system.org as well). If you are using the rsync Linux distribution from http://www.math.rwth-aachen.de/RsyncLinuxGAP/index.html you just need to call 'gapsync'. Comments about this package are welcome. With "beta-"release we mean that we may change some details for a version 1.x, depending on your comments. Kind regards, Thomas Breuer and Frank L?beck From akos at math.ohio-state.edu Sat Sep 9 02:07:40 2006 From: akos at math.ohio-state.edu (akos@math.ohio-state.edu) Date: Sat Sep 9 02:07:54 2006 Subject: [GAP Forum] The DESIGN package Message-ID: <3344.65.189.183.117.1157764060.squirrel@www.math.ohio-state.edu> Dear Forum Members, It is my pleasure to announce the DESIGN package by Leonard Soicher. The purpose of the package is the construction, classification, partition, and study of block designs. The DESIGN package homepage is http://designtheory.org/software/gap_design/ where you can download the package and also find HTML and PDF documentation. Sincerely, Akos Seress From wdjoyner at gmail.com Sun Sep 10 03:09:11 2006 From: wdjoyner at gmail.com (David Joyner) Date: Sun Sep 10 02:36:40 2006 Subject: [GAP Forum] GAP www items 2 Message-ID: <450373C7.8080704@gmail.com> Hello all: A few changes to the GAP website have occurred since the last "items" email in late June: 1. Four new packages "on deposit": Browse (Thomas Breuer and Frank Luebeck: Provides, among other things, functions for an interactive display of two-dimensional arrays of data. It also includes a suduko solver!) Circle (Alexander Konovalov and Panagiotis Soules: Provides functionality to compute in the adjoint groups of associative rings) Crime (Marcus Bishop: Calculates the cohomology rings of p-groups over fields of characteristic p) UnitLib (Alexander Konovalov and Elena Yakimenko, Package contains the library of normalized unit groups of modular group algebras of finite p-groups over the field of p elements for all finite p-groups of order not greater than 128) 2. Seven already existing packages issued new versions: cohomolo (by Derek Holt) Design (by Leonard Soicher) HAP (by Graham Ellis) Loops (by Gabor Nagy, Petr Vojtechovsky) RCWA (by Stefan Kohl) ResClasses (by Stefan Kohl) singular (by Marco Constantini, Willem de Graaf) 3. Two packages have been moved from deposited to accepted: Design by Leonard Soicher (for the construction, classification, partition, and study of block designs). IRREDSOL by Burkhard Hoefling (a library of all irreducible solvable subgroups of GL(n,q), up to conjugacy, for small values of n and q). Other than these changes, the GAP website has not changed significantly recently. - David Joyner, wdjoyner@gmail.com From ndroock1 at gmail.com Mon Sep 11 22:12:47 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Sep 11 22:12:51 2006 Subject: [GAP Forum] Browse package Message-ID: I have downloaded Browse 0.9 and installed it in the usual way. Since LoadPackage returned with 'fail' I then looked at the docs where it says I have to compile stuff. I work with Windows XP and that's very unusual on that platform. Isn't there a pre-compiled version of Browse for Windows? Thanks on beforehand. -- met vriendelijke groet / kind regards, nilo de roock http://xmsql.sourceforge.net From Rudolf.Zlabinger at chello.at Tue Sep 12 08:06:00 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Tue Sep 12 08:07:36 2006 Subject: [GAP Forum] Browse package References: Message-ID: <001101c6d639$e7894210$eec57254@zlabinger> Even there where a precompiled version, I think you had a means of c runtime libraries to have included in your Windows/XP platform to run the package. I don't know (but may be), whether the installer of Alexander Konovalov includes a WINDOWS runnable version of BROWSE, or will include it in near future. For this reason, among others, I use a separate SUSE/LINUX in parallel to WINDOWS/XP for such c based packages as for example GRAPE. There you can use Frank Luebecks rsync (see download site) without need to recompile (for most packages). I hope, rsync includes BROWSE already, or does it soon. Otherwise, under LINUX, after installing the c compiler, there is no problem to compile. I hope you get better feedback from other people. mit freundlichen Gr??en/best regards, Rudolf Zlabinger ----- Original Message ----- From: "Nilo de Roock" To: Sent: Monday, September 11, 2006 11:12 PM Subject: [GAP Forum] Browse package >I have downloaded Browse 0.9 and installed it in the usual way. Since > LoadPackage returned with 'fail' I then looked at the docs where it says I > have to compile stuff. I work with Windows XP and that's very unusual on > that platform. Isn't there a pre-compiled version of Browse for Windows? > Thanks on beforehand. > > -- > met vriendelijke groet / kind regards, > nilo de roock > http://xmsql.sourceforge.net > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From alexander.konovalov at gmail.com Wed Sep 13 09:32:54 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed Sep 13 09:32:14 2006 Subject: [GAP Forum] Browse package In-Reply-To: <001101c6d639$e7894210$eec57254@zlabinger> References: <001101c6d639$e7894210$eec57254@zlabinger> Message-ID: Dear Nilo and Rudolf, Dear GAP Forum, The Experimental GAP Installer for Windows (http:// ukrgap.exponenta.ru/wininst/wininst.htm) contains not run-able version of the Browse package. The concept of the Windows GAP Installer is to provide an automated procedure of installing the GAP system and packages, and it does only the following setup: * unpacks archive in the selected folder * adjusts *.bat files accordingly to the installation folder * creates shortcuts in the Desktop, Start Menu and Quick Launch panel (optionally) * stores some information in the Windows registry (so you will be able to see GAP in the list of installed programs) * puts uninstaller to the GAP root directory * creates gap.ini file in the Windows directory (to store GAP version, GAP root directory and GAP packages directory) GAP packages installer for Windows did not perform additional setup of packages - it just puts selected packages in the GAP packages directory, which it is able to find automatically. Thus, if all packages will be selected during the installation, the result must be identical to the installation of the merged archive of all currently redistributed GAP packages in zoo or win.zip format. The idea is to give the Windows user all packages, even if they can not be run on Windows. So, one could browse their documentation and code in order to learn them and maybe decide to switch to UNIX environment to be able to really use them. I think that this is also the case of the Browse package. Best wishes, Alexander On 12 Sep 2006, at 09:06, Rudolf Zlabinger wrote: > Even there where a precompiled version, I think you had a means of > c runtime libraries to have included in your Windows/XP platform to > run the package. I don't know (but may be), whether the installer > of Alexander Konovalov includes a WINDOWS runnable version of > BROWSE, or will include it in near future. > > For this reason, among others, I use a separate SUSE/LINUX in > parallel to WINDOWS/XP for such c based packages as for example > GRAPE. There you can use Frank Luebecks rsync (see download site) > without need to recompile (for most packages). I hope, rsync > includes BROWSE already, or does it soon. Otherwise, under LINUX, > after installing the c compiler, there is no problem to compile. > > I hope you get better feedback from other people. > > mit freundlichen Gr??en/best regards, Rudolf Zlabinger > > > ----- Original Message ----- From: "Nilo de Roock" > > To: > Sent: Monday, September 11, 2006 11:12 PM > Subject: [GAP Forum] Browse package > > >> I have downloaded Browse 0.9 and installed it in the usual way. Since >> LoadPackage returned with 'fail' I then looked at the docs where >> it says I >> have to compile stuff. I work with Windows XP and that's very >> unusual on >> that platform. Isn't there a pre-compiled version of Browse for >> Windows? >> Thanks on beforehand. >> >> -- >> met vriendelijke groet / kind regards, >> nilo de roock >> http://xmsql.sourceforge.net From antoine.meriaux at hotmail.com Tue Sep 12 17:48:18 2006 From: antoine.meriaux at hotmail.com (=?iso-8859-1?B?YW50b2luZSBN6XJpYXV4?=) Date: Wed Sep 13 10:41:33 2006 Subject: [GAP Forum] Function in a previous package on Gap3 Message-ID: Dear gap Forum, I'm actually working on Prime specter of some algebras and i've found this paper : www.algebra.uni-linz.ac.at/~juergen/Papers/rings.pdf It explains some theory and give some gap3 (i'm not sure of the version) functions or packages (i'm new in the using of gap as far as in maths :)) The function i want to use is : IsPrimeIdeal but i don't know how to do this on gap4 Many thanks Antoine M?riaux antoine.meriaux@free.fr _________________________________________________________________ MSN Hotmail : cr?ez votre adresse e-mail gratuite & ? vie ! http://www.msn.fr/newhotmail/Default.asp?Ath=f From thomas.breuer at math.rwth-aachen.de Thu Sep 14 08:42:59 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Thu Sep 14 08:43:36 2006 Subject: [GAP Forum] Browse package In-Reply-To: References: Message-ID: <20060914074258.GA29374@math.rwth-aachen.de> Dear GAP Forum, thanks for the first feedback on the Browse package. Nilo de Roock asked for a Windows executable of GAP including Browse. Unfortunately, currently this is not provided. Future versions of the package might include support for Windows. If I interpret Rudolf Zlabinger's message right then the installation under Linux worked without problems. All the best, Thomas Breuer From mfrincu at info.uvt.ro Mon Sep 25 10:42:32 2006 From: mfrincu at info.uvt.ro (mfrincu@info.uvt.ro) Date: Mon Sep 25 15:15:58 2006 Subject: [GAP Forum] Using Java to launch GAP Message-ID: <20060925124232.4hp1aab2qss044c0@webmail.info.uvt.ro> Hello, My name is Marc Frincu and I am a computer programmer in grid computing. I have successfully launched gap using a child process from Java, but I have problems if the GAP input is incorrect. I tried using a while loop to read lines from the BufferedReader but with no success. Could anyone help me? Best regards, From mspanbro at win.tue.nl Tue Sep 26 08:35:28 2006 From: mspanbro at win.tue.nl (Mark Spanbroek) Date: Tue Sep 26 08:35:37 2006 Subject: [GAP Forum] Using Java to launch GAP In-Reply-To: <20060925124232.4hp1aab2qss044c0@webmail.info.uvt.ro> References: <20060925124232.4hp1aab2qss044c0@webmail.info.uvt.ro> Message-ID: <200609260935.28308.mspanbro@win.tue.nl> Hi Marc, in our Java GAP library, we pass the '-p' parameter to GAP. This ensures that GAP produces output that is easier to parse. For instance, whenever GAP is waiting for input, it always outputs @i first (or @e in case of an error). The code in which we handle this can be found at: https://mathdox.org/svn/repos/public/gapclient/source/java/org/mathdox/gapclient/GapConnection.java You can also check out the complete library from https://mathdox.org/svn/repos/public/gapclient and https://mathdox.org/svn/repos/public/socketservice using Subversion. I hope this helps, Mark On Monday 25 September 2006 11:42, mfrincu@info.uvt.ro wrote: > Hello, > > My name is Marc Frincu and I am a computer programmer in grid computing. > I have successfully launched gap using a child process from Java, but > I have problems if the GAP input is incorrect. I tried using a while > loop to read lines from the BufferedReader but with no success. Could > anyone help me? > > Best regards, From joachim.neubueser at math.rwth-aachen.de Fri Sep 29 11:17:47 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Fri Sep 29 11:17:58 2006 Subject: [jneubues: Re: [GAP Forum] Function in a previous package on Gap3] Message-ID: <20060929101747.GB24875@math.rwth-aachen.de> ----- Forwarded message from jneubues ----- To: antoine M?riaux Subject: Re: [GAP Forum] Function in a previous package on Gap3 Reply-To: Joachim Neubueser Dear Antoine Meriaux, I see that nobody seems to have answered your question to the GAP Forum in this Forum, and it seems that there is no function IsPrimeIdeal in GAP4. Hence I try to give at least a possible hint: Juergen Ecker, who is the author of the paper to which you refer is now a coauthor of the GAP4 package 'SONATA', you find his address and that of his coauthors in Linz on the website for this package which you can reach through the GAP website under 'Packages'. Perhaps try to contact him directly. Sorry for not being of better help Joachim Neubueser On Tue, Sep 12, 2006 at 04:48:18PM +0000, antoine M?riaux wrote: > Dear gap Forum, > > I'm actually working on Prime specter of some algebras and i've found this > paper : > www.algebra.uni-linz.ac.at/~juergen/Papers/rings.pdf > > It explains some theory and give some gap3 (i'm not sure of the version) > functions or packages > (i'm new in the using of gap as far as in maths :)) > > The function i want to use is : IsPrimeIdeal but i don't know how to do > this on gap4 > > Many thanks > > Antoine M?riaux > antoine.meriaux@free.fr > > _________________________________________________________________ > MSN Hotmail : cr?ez votre adresse e-mail gratuite & ? vie ! > http://www.msn.fr/newhotmail/Default.asp?Ath=f > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > ----- End forwarded message ----- From laurent.bartholdi at gmail.com Mon Oct 2 12:12:00 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Mon Oct 2 12:12:14 2006 Subject: [GAP Forum] fast linear algebra Message-ID: <1ff637850610020412t72934114o7fc8a5c5d80b06a2@mail.gmail.com> dear forum, i try to find the most efficient way to code the following, and the manual didn't help me: 1) given a vector space given by a set R of row vectors, rewrite a family of vectors belonging to the span of R as full row vectors over another space (isomorphic to the space spanned by R). my implementation: complete R to a basis B of the full row space; use 'Coefficients(B,v)' to obtain the coefficients in that basis, then throw away the last 0's to obtain the coefficients in the basis of the subspace spanned by R. this seems extremely inefficient. 2) given a set R of row vectors, determine whether v is in the span of these vectors. my implementation: test if Rank(R)=Rank(Concatenation(R,v)). again, i suspect there should be something much better. 3) given a set R of row vectors, rewrite a family of vectors as vectors (in the full row space K^n) as full row vectors over a space isomorphic to the quotient K^n/. my implementation: complete R to a basis R cup S; extract the coefficients of S 4) given a matrix K^n -> K^n, that leaves the span of R invariant, extract a matrix K^n/ -> K^n/. again, my implementation: complete R to a basis R cup S; for each vector in S, compute its image, and rewrite it using step 3) in the basis S; use that as a row of the new matrix. thanks in advance, laurent -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From jjm at dcs.st-and.ac.uk Tue Oct 3 21:12:17 2006 From: jjm at dcs.st-and.ac.uk (John McDermott) Date: Tue Oct 3 22:03:14 2006 Subject: [GAP Forum] New update of GAP released Message-ID: Dear GAP Forum, We are delighted to announce the release of GAP 4 release 4 update 8 (GAP 4.4.8 for short), which is available now from the GAP Web pages and FTP site. The priority of this upgrade is very high, since it contains fixes for bugs which can return wrong results without warnings. All users should update to this release as soon as possible. The upgrade also fixes many less dangerous bugs and adds new functionality including a new concept of random sources, better handling of long input, improved command-line editing, functionality for retrieval of session information, new functionality for lists, and more. Full details can be found on the web pages at http://www.gap-system.org/Download/Updates/gap4r4p8.html. John McDermott, for the GAP Group. -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From alexander.konovalov at gmail.com Wed Oct 4 09:12:23 2006 From: alexander.konovalov at gmail.com (Alexander Konovalov) Date: Wed Oct 4 09:12:32 2006 Subject: [GAP Forum] Experimental GAP Installer for Windows: update for GAP 4.4.8 Message-ID: <2A17E93F-5CE0-42E1-924D-4614E9424AFC@gmail.com> Dear GAP Forum, following the announcement of GAP 4.4.8, let me note that the Experimental GAP Installer for Windows is also updated. You can find instructions and downloads on the following pages: http://ukrgap.exponenta.ru/wininst/wininst.htm (English version) http://ukrgap.exponenta.ru/wininst/wininstr.htm (Russian version) For those who already these pages to install GAP 4.4.6 or 4.4.7, the update fix4r4p8.exe is available. Best wishes, Alexander Konovalov From degraaf at science.unitn.it Wed Oct 4 09:21:21 2006 From: degraaf at science.unitn.it (degraaf@science.unitn.it) Date: Wed Oct 4 09:22:13 2006 Subject: [GAP Forum] fast linear algebra In-Reply-To: <1ff637850610020412t72934114o7fc8a5c5d80b06a2@mail.gmail.com> References: <1ff637850610020412t72934114o7fc8a5c5d80b06a2@mail.gmail.com> Message-ID: <1159950081.45236f0152b93@www.unitn.it> Dear Laurent, GAP has functions to do the things you want. Let me illustrate them by an example: # first we create some vectors, and the vector space spanned by them: gap> v:= [[1,2,3,4],[1,1,1,1]];; gap> V:= VectorSpace( Rationals, v );; # then we can construct the basis of the space that consists of the # given vectors: gap> B:= Basis( V, v ); Basis( , [ [ 1, 2, 3, 4 ], [ 1, 1, 1, 1 ] ] ) # get coeficients, and ask whether an element lies in the space: gap> Coefficients( B, [2,3,4,5] ); [ 1, 1 ] gap> [5,6,8,9] in V; false # for dealing with quotient spaces there is a function # NaturalHomomorphismBySubspace: gap> W:= Rationals^4; ( Rationals^4 ) gap> f:= NaturalHomomorphismBySubspace( W, V ); ( Rationals^2 )> gap> Image( f, v[1] ); [ 0, 0 ] gap> PreImagesRepresentative( f, [1,2] ); [ 1, 2, 0, 0 ] # So we can make images, and preimages. # Now suppose that you have a matrix U : W --> W that leaves the # subspace V invariant. Then you can get the matrix acting on the # quotient as follows (in the example I take the identity matrix). gap> U:= IdentityMat( 4, Rationals ); [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] gap> R:= Range( f ); ( Rationals^2 ) gap> b:= List( Basis(R), w -> PreImagesRepresentative( f, w ) ); [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ] ] gap> List( b, w -> Coefficients( Basis(R), Image( f, w*U ) ) ); [ [ 1, 0 ], [ 0, 1 ] ] I hope this helps (and that I have understood your questions correctly). Please ask again if you need anything more/else. Best wishes, Willem de Graaf > dear forum, > i try to find the most efficient way to code the following, and the > manual didn't help me: > > 1) given a vector space given by a set R of row vectors, rewrite a > family of vectors belonging to the span of R as full row vectors over > another space (isomorphic to the space spanned by R). > > my implementation: complete R to a basis B of the full row space; use > 'Coefficients(B,v)' to obtain the coefficients in that basis, then > throw away the last 0's to obtain the coefficients in the basis of the > subspace spanned by R. > > this seems extremely inefficient. > > 2) given a set R of row vectors, determine whether v is in the span of > these vectors. > > my implementation: test if Rank(R)=Rank(Concatenation(R,v)). > > again, i suspect there should be something much better. > > 3) given a set R of row vectors, rewrite a family of vectors as > vectors (in the full row space K^n) as full row vectors over a space > isomorphic to the quotient K^n/. > > my implementation: complete R to a basis R cup S; extract the coefficients of > S > > 4) given a matrix K^n -> K^n, that leaves the span of R invariant, > extract a matrix K^n/ -> K^n/. > > again, my implementation: complete R to a basis R cup S; for each > vector in S, compute its image, and rewrite it using step 3) in the > basis S; use that as a row of the new matrix. > > thanks in advance, laurent > > -- > Laurent Bartholdi \ laurent.bartholdigmailcom > EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 > Station 8 \ Secr?taire: +41 21-6935501 > CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From sal at dcs.st-and.ac.uk Wed Oct 4 14:35:58 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Wed Oct 4 14:36:24 2006 Subject: [GAP Forum] The GAPDoc Package Message-ID: <20061004143558.4c40b9a5@caolila> Dear Forum Members, It is my pleasure to announce that the GAPDoc package by Frank Luebeck and Max Neunhoeffer has been formally accepted as a refereed package. The purpose of the package is to provide an alternative system for writing and processing GAP documentation. The homepage of the package is at http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/index.html from where you can download the package (although note that it has been included as a deposited package with most recent releases of GAP) and read the documentation. Steve Linton -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From Rudolf.Zlabinger at chello.at Wed Oct 11 13:24:38 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed Oct 11 13:26:05 2006 Subject: [GAP Forum] creating arrays Message-ID: <000801c6ed30$38d7fcd0$d5476d50@zlabinger> As i needed arrays (for constructing functions for creating large matrices), i didnt find any suiting objects in GAPs docu, but perhaps its my fault and i only didnt find it. List processing only allows for access to already bound elements and only one indexlevel for enlarging lists. So you cannot freely index list elements especially for programming purposes creating and processing lists of arbitrary nesting levels. So I wrote a function for the definition of arbitrary arrays of empty lists, and included it for interested people here. Alas this function has experimental status yet. May be there are errors or bugs, but in general this would be the direction to go for this purpose. If you have knowledge of an equivalent standard function in GAP I would be grateful to get feedback. Best regards, Rudolf Zlabinger -------------- next part -------------- Array:=function(bounds) # creates an array of empty lists of arbitrary nesting levels (dimensions) # and bounds for each level # bounds is a list of positive integers determining the length of each dimension # the length of bounds is the dimension of the array # at element level the dimension of the array is 1 higher, # as the last level are also empty lists local array,IterateArray; IterateArray:=function(array,bounds) # iterative call for decreasing levels of array and bounds local i,dim,boundsrecall; # i.. index, # dim the recent level of bounds, # boundsrecall.. shortened bounds for recalls dim:=Length(bounds); # the varying length of bounds for i in [1..bounds[1]] do # 1 recallcascade for one add Add(array,[]); # enlarging the recent level of array if dim>1 then # dim=1 is the last level boundsrecall:=bounds{[2..dim]}; # shorten bounds for next level IterateArray(array[i],boundsrecall); # recursion for the next lower level of array fi; # end of dimension > 1 clause od; # end of bound loop return array; end; array:=[]; array:=IterateArray(array,bounds); # starting call of add cascade return array; end; From wdj at usna.edu Thu Oct 12 13:24:39 2006 From: wdj at usna.edu (David Joyner) Date: Thu Oct 12 13:31:55 2006 Subject: [GAP Forum] GAP mirror Message-ID: <452E3407.8010808@usna.edu> GAP users: Recently, there was a power problem for the building in which the servers are housed, so it is perhaps worth repeating that there is a mirror of the GAP web site at http://sage.math.washington.edu/gap/ However, the ftp site is not mirrored there, so you can access the online manual and package information but not downloads of tarballs. If there is enough response, I will try to mirror the ftp site as well. Unfortunately, relative links are not used for the ftp site, so it won't be so easy as simply rsync-ing two suitable directories. - David Joyner From sal at dcs.st-and.ac.uk Fri Oct 13 14:03:26 2006 From: sal at dcs.st-and.ac.uk (Steve Linton) Date: Fri Oct 13 14:04:37 2006 Subject: [GAP Forum] Power cuts Message-ID: <20061013140326.4b685b6f@caolila> Dear GAP Forum, As many of you will have noticed, the GAP Website, FTP and mailing lists were all out of action for four days last week (as was the CVS system used by the developers). This was due to a power failure to the building housing all our servers. Following a scheduled power outage on the Saturday they were unable to turn power back on due to a problem with the switchgear. Power was eventually restored late on the Tuesday by bringing in a large generator. Anyway, this email is first to apologize for the interruption to service and secondly to warn that a further outage is scheduled for this coming Saturday (October 14th) to attempt to reconnect us to the mains, and failing that to move the generator to a less inconvenient place. All being well the interruption should be limited to a few hours on Saturday afternoon (UK time). Steve Linton -- Steve Linton School of Computer Science & Centre for Interdisciplinary Research in Computational Algebra University of St Andrews Tel +44 (1334) 463269 http://www.dcs.st-and.ac.uk/~sal Fax +44 (1334) 463278 From vdovin at math.nsc.ru Mon Oct 16 04:33:18 2006 From: vdovin at math.nsc.ru (Vdovin Evgenii) Date: Mon Oct 16 04:33:20 2006 Subject: [GAP Forum] bugfix Message-ID: <4532FD7E.2010903@math.nsc.ru> Dear Forum members! I've made an update via gapsync and then tried "ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));" Then GAP gave me + false - true + LogFFE: must be a power of - fail + ' must have a value + + Syntax error: ; expected in stream line 3 + 567; ^ + Error, Could not evaluate string. + - 1234567 + Variable: 'IDENTS_BOUND_GVARS' must have a value + + Variable: 'ALL_RNAMES' must have a value + bugfixes test + GAP4stones: 123920 true Is it normal? -- Best Regards Vdovin Evgenii Institute of Mathematics pr-t Acad. Koptyug, 4 630090, Novosibirsk, Russia Office +7 383 3331390 Home +7 383 2644892 Cellular +7 913 9475524 Fax +7 383 3332598 From Frank.Luebeck at math.rwth-aachen.de Mon Oct 16 10:05:10 2006 From: Frank.Luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Mon Oct 16 10:05:22 2006 Subject: [GAP Forum] bugfix In-Reply-To: <4532FD7E.2010903@math.nsc.ru> References: <4532FD7E.2010903@math.nsc.ru> Message-ID: <20061016090510.GA19683@math.rwth-aachen.de> On Mon, Oct 16, 2006 at 10:33:18AM +0700, Vdovin Evgenii wrote: > I've made an update via gapsync and then tried > "ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));" > > Then GAP gave me > > + false > - true [...] Dear Vdovin Evgenii, dear users of 'gapsync', Thank you very much for this report. I have missed to copy one file to the server data when updating to 4.4.8. This will be corrected if you now call 'gapsync' again. [With my incomplete update you missed the changes in the GAP kernel, all of these are harmless and don't concern any serious bug.] With best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From dwcarnegie at earthlink.net Mon Oct 16 11:54:41 2006 From: dwcarnegie at earthlink.net (David Carnegie) Date: Mon Oct 16 11:55:02 2006 Subject: [GAP Forum] Windows bugfix Message-ID: <410-2200610116105441218@earthlink.net> Dear GAP Forum, The new win.zip distribution also gives errors when running the bugfix test. Are these files to be corrected as well? Do we need to download the fixes again? David Carnegie Output: Loading the library. Please be patient, this may take a while. GAP4, Version: 4.4.8 of 18-Sep-2006, i686-pc-cygwin-gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: AClib 1.1, Polycyclic 1.1, Alnuth 2.1.3, CrystCat 1.1.2, Cryst 4.1.4, AutPGrp 1.2, CRISP 1.3.1, CTblLib 1.1.3, TomLib 1.1.2, FactInt 1.4.11, FGA 1.1.0.1, GAPDoc 0.99999, IRREDSOL 1.1.1, LAGUNA 3.3.3, Sophus 1.23, Polenta 1.2.3, ResClasses 2.3.3 loaded. gap> ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst")); + must be a string (not a boolean) + Error, no method found! For debugging hints type ?Recovery from NoMethodFound + Error, no 1st choice method found for `PrintFormattingStatus' on 1 arguments - false + Error, no method found! For debugging hints type ?Recovery from NoMethodFound + Error, no 1st choice method found for `SetPrintFormattingStatus' on 2 argument \ + s + Error, first argument must be a filename or output stream + Error, no method found! For debugging hints type ?Recovery from NoMethodFound + Error, no 1st choice method found for `ReadLine' on 1 arguments - tam eht no tas tac ehT + Error, no method found! For debugging hints type ?Recovery from NoMethodFound + Error, no 1st choice method found for `CloseStream' on 1 arguments + bugfixes test + GAP4stones: 83290 true gap> --------------------------------------------------------------------------------------------------------------------------------- On Mon, Oct 16, 2006 at 10:33:18AM +0700, Vdovin Evgenii wrote: > I've made an update via gapsync and then tried > "ReadTest(Filename(DirectoriesLibrary("tst"), "bugfix.tst"));" > > Then GAP gave me > > + false > - true [...] ------------------------------------------------------------------------------------ Dear Vdovin Evgenii, dear users of 'gapsync', Thank you very much for this report. I have missed to copy one file to the server data when updating to 4.4.8. This will be corrected if you now call 'gapsync' again. [With my incomplete update you missed the changes in the GAP kernel, all of these are harmless and don't concern any serious bug.] With best regards, Frank From anvita21 at usa.com Thu Oct 19 03:25:06 2006 From: anvita21 at usa.com (Anvita) Date: Thu Oct 19 03:23:59 2006 Subject: [GAP Forum] problem with new GAP Message-ID: <20061019022506.387A5BA503@ws3-2.us4.outblaze.com> Dear forum, The following code used to worke fine, but after updating GAP it no longer does. How can I construct a left ideal in a group algebra in the new GAP release? Thank you Anvita --------------------------------------------------------------------------- GAP4, Version: 4.4.7 of 17-Mar-2006, i686-pc-cygwin-gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: TomLib 1.1.2 loaded. gap> S:=SymmetricGroup(5); Sym( [ 1 .. 5 ] ) gap> F:=GF(2); GF(2) gap> R:=GroupRing(F,S); gap> e12:=Image(Embedding(S,R),(1,2)); (Z(2)^0)*(1,2) gap> I:=R*e12; , (1 generators)> gap> --------------------------------------------------------------------------- --------------------------------------------------------------------------- GAP4, Version: 4.4.8 of 18-Sep-2006, i686-pc-cygwin-gcc Components: small 2.1, small2 2.0, small3 2.0, small4 1.0, small5 1.0, small6 1.0, small7 1.0, small8 1.0, small9 1.0, small10 0.2, id2 3.0, id3 2.1, id4 1.0, id5 1.0, id6 1.0, id9 1.0, id10 0.1, trans 1.0, prim 2.1 loaded. Packages: AClib 1.1, Polycyclic 1.1, Alnuth 2.1.3, CrystCat 1.1.2, Cryst 4.1.4, AutPGrp 1.2, CRISP 1.3.1, CTblLib 1.1.3, TomLib 1.1.2, FactInt 1.4.11, FGA 1.1.0.1, GAPDoc 0.99999, IRREDSOL 1.1.1, LAGUNA 3.3.3, Sophus 1.23, Polenta 1.2.3, ResClasses 2.3.3 loaded. gap> S:=SymmetricGroup(5); Sym( [ 1 .. 5 ] ) gap> F:=GF(2); GF(2) gap> R:=GroupRing(F,S); gap> e12:=Image(Embedding(S,R),(1,2)); (Z(2)^0)*(1,2) gap> I:=R*e12; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `ResidueClassUnionCons' on 6 arguments c\ alled from ResidueClassUnionCons( IsUnionOfResidueClasses, R, m, r, included, excluded ) called from ResidueClassUnion( R, m, [ r ] ) called from ResidueClass( R, x, Zero( x ) ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> --------------------------------------------------------------------------- -- Search for products and services at: http://search.mail.com From wdj at usna.edu Fri Oct 20 14:06:08 2006 From: wdj at usna.edu (David Joyner) Date: Fri Oct 20 14:13:00 2006 Subject: [GAP Forum] new GAP biblio item Message-ID: <4538C9C0.5030109@usna.edu> Hello all: FYI, there is an interesting recent new article which uses GAP on the math arxivs and doesn't appear to be on the GAP biblio page http://www.gap-system.org/Doc/Bib/gap-published.html yet: Andrew R. Booker. Artin's conjecture, Turing's method and the Riemann hypothesis. math.NT/0507502 http://front.math.ucdavis.edu/math.NT/0507502 According to Booker's AMS Notices article http://www.ams.org/journals/notices/200610/200610-toc.html where I found this arxiv paper referenced, the arxiv paper is due to appear in Exp. Math., 2006. - David Joyner From kohl at mathematik.uni-stuttgart.de Tue Oct 24 12:48:01 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Tue Oct 24 12:48:11 2006 Subject: [GAP Forum] RCWA 2.2 Message-ID: <453DFD71.308@mathematik.uni-stuttgart.de> Dear Forum, This is to announce the release of RCWA 2.2. The RCWA package can deal with groups of the following and many more types: - Finite groups. - Free groups of finite rank. - Free products of finitely many finite groups. - Certain divisible torsion groups. - Certain countable simple groups. - Direct products of the mentioned groups. - Wreath products of the mentioned groups with finite groups and with the infinite cyclic group (Z,+). As usual, RCWA is available at http://www.gap-system.org/Packages/rcwa.html . In analogy to Frank L?beck's group recognition challenges for matrix groups ( http://www.math.rwth-aachen.de:8001/~Frank.Luebeck/data/MatrixChallenges/ ), I list below a couple of `challenge groups' whose structure you might try to determine: G1 := Group( ClassTransposition(0,2,1,2), ClassTransposition(0,4,2,4) * ClassTransposition(1,2,0,4) ); G2 := Group( ClassTransposition(0,2,1,2) * ClassTransposition(0,2,1,4), ClassTransposition(3,8,7,8) * ClassTransposition(3,8,7,16) ); G3 := Group( ClassTransposition(0,4,3,4), ClassTransposition(0,6,3,6), ClassTransposition(1,4,0,6) ); G4 := ClosureGroup( G3, ClassTransposition(0,4,3,4) * ClassTransposition(6,12,9,12) * ClassTransposition(0,6,9,12) ); G5 := ClosureGroup( G4, [ ClassTransposition(1,96,73,96), ClassTransposition(1,144,73,144), ClassTransposition(25,96,1,144) ] ); G6 := ClosureGroup( G5, [ ClassTransposition(17,48,41,48) * ClassTransposition(41,48,65,96), ClassTransposition(65,96,89,96) * ClassTransposition(113,144,209,288) * ClassTransposition(89,96,113,144) ] ); G7 := Group( mKnot(3), ClassShift(Integers) ); Just a few hints: - Some of the above groups are finitely-presented, others are not. - Most of them don't have finite-dimensional linear representations over a field. - Most of them don't appear in the list of types of groups given above. - Some of them can be recognized easily, others are quite complicate constructions. Given disjoint residue classes r1(m1) and r2(m2) of Z, ClassTransposition(r1,m1,r2,m2) in Sym(Z) is the unique involution which interchanges r1(m1) and r2(m2), which is affine on r1(m1) and on r2(m2), which maps nonnegative integers to nonnegative integers and which fixes Z \ (r1(m1) U r2(m2)) pointwise. For example, ClassTransposition(0,2,1,2) is given by n |-> n + (-1)^n. Wishing you fun and success using this package, Stefan Kohl ------------------------------------------------------------------------------- http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/ ------------------------------------------------------------------------------- From beick at tu-bs.de Wed Oct 25 09:46:04 2006 From: beick at tu-bs.de (Bettina Eick) Date: Wed Oct 25 09:46:15 2006 Subject: [GAP Forum] The Crime Package Message-ID: Dear Forum Members, It is my pleasure to announce that the CRIME Package by Marcus Bishop has been formally accepted as a refereed GAP package. The CRIME package contains methods for computing the cohomology ring of a finite p-group using Jon Carlson's method. The considered cohomology rings can be obtained as GAP objects and also in terms of generators and relations. Further, the CRIME package contains methods for computing induced homomorphisms on cohomology and Massey products. The package is available at http://www.math.uic.edu/~marcus/Crime or at the GAP web pages http://www.gap-system.org/Packages/crime.html from where you can download the Package and read the documentation. Bettina Eick From erfanian at wali.um.ac.ir Mon Oct 16 08:58:23 2006 From: erfanian at wali.um.ac.ir (erfanian) Date: Wed Oct 25 15:48:48 2006 Subject: [GAP Forum] Schur Multiplier of GL(n,q) Message-ID: <1144.192.168.40.66.1160985503.squirrel@webmail.um.ac.ir> Dear gap forum, I would like to ask about the Schur Multiplier of linear groups GL(n,q) and PGL(n,q). We know the exact Schur Multiplier of SL(n,q) and PSL(n,q) by the famous book of Karpilovsky. I will be more grateful for any known results or references. Best regards, A. Erfanian, From dn2447 at yahoo.com Wed Oct 25 23:50:08 2006 From: dn2447 at yahoo.com (D N) Date: Wed Oct 25 23:50:39 2006 Subject: [GAP Forum] Quotient group Message-ID: <20061025225008.88346.qmail@web37408.mail.mud.yahoo.com> Dear GAP forum, Let H be a normal subgroup of a finite group G and let p: G --> H\G be the usual surjection. How do I do the following using GAP: * form the quotient group H\G * for each x in H\G, chose u(x) in G such that p(u(x)) = x. Thanks, D. Naidu __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From Rudolf.Zlabinger at chello.at Thu Oct 26 00:58:24 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Oct 26 00:59:26 2006 Subject: [GAP Forum] Quotient group References: <20061025225008.88346.qmail@web37408.mail.mud.yahoo.com> Message-ID: <000b01c6f891$7569eb60$d5476d50@zlabinger> Dear D.Naidu, i hope, the following helps: Prolog gap> a4:=AlternatingGroup(4);;S5:=SymmetricGroup(5);; gap> g:=DirectProduct(a4,S5);; gap> IsNormal(g,a4); # lets a4 be our normal subgroup H, g our group G true Create the mapping and the image gap> nhom:=NaturalHomomorphismByNormalSubgroup(g,a4);; gap> image:=Image(nhom);; # G/H Show the full Preimage gap> pre:=PreImages(nhom,image); # this results in group G Group([ (5,6,7,8,9), (5,6), (2,3,4), (1,2,3) ]) gap> g=pre; true x=p(u(x)) gap> rimage:=Random(image);; # choose a random elm of G/H, say our x gap> pre:=PreImages(nhom,rimage); # this is our u(x), you have to use PreImages because the mapping is not unique by group elements RightCoset(Group( [ (2,3,4), (1,2,3) ] ),(5,7)(6,8)) gap> repre:=Image(nhom,pre);; # this i a preform of p(u(x)) gap> repre=rimage; false gap> rimage; (1,3)(2,4) gap> repre; [ (1,3)(2,4) ] # as homomorphisms in general are not unique in all cases, the algorithm provides for more than one value gap> repre[1]=rimage; # in this way repre[1] = p(u(x)) = x = rimage in our case of a quotient group homomorphism true If you want to do it for all elms of G/H, use listprocessing. best wishes, Rudolf Zlabinger ----- Original Message ----- From: "D N" To: Sent: Thursday, October 26, 2006 12:50 AM Subject: [GAP Forum] Quotient group > Dear GAP forum, > > Let H be a normal subgroup of a finite group G and > let p: G --> H\G be the usual surjection. > How do I do the following using GAP: > > * form the quotient group H\G > * for each x in H\G, chose u(x) in G > such that p(u(x)) = x. > > Thanks, > D. Naidu > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Rudolf.Zlabinger at chello.at Thu Oct 26 11:31:29 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Oct 26 11:32:47 2006 Subject: [GAP Forum] Quotient group References: <20061025225008.88346.qmail@web37408.mail.mud.yahoo.com> <000b01c6f891$7569eb60$d5476d50@zlabinger> <1ff637850610252311t1cb0668fl5acff03b2cd7c065@mail.gmail.com> Message-ID: <001b01c6f8e9$e6762a50$d5476d50@zlabinger> Thank you for your elegeant solution. One only should keep thereby in mind, that the mapping is built by definition of the quotient group primarily between the cosets in G by H and the elements in the target representation of the quotient, not between the representatives of the cosets and the target elements themselves. best regards, Rudolf Zlabinger ----- Original Message ----- From: "Laurent Bartholdi" To: "Rudolf Zlabinger" Cc: "D N" Sent: Thursday, October 26, 2006 8:11 AM Subject: Re: [GAP Forum] Quotient group > gap> rimage:=Random(image);; # choose a random elm of G/H, say our x > gap> pre:=PreImages(nhom,rimage); # this is our u(x), you have to use > PreImages because the mapping is not unique by group elements > RightCoset(Group( [ (2,3,4), (1,2,3) ] ),(5,7)(6,8)) maybe here you are interested in: gap> pre:=PreImagesRepresentative(nhom,rimage); (5,7)(6,8) gap>pre^nhom = rimage; true -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From niranj at math.ohio-state.edu Thu Oct 26 23:51:01 2006 From: niranj at math.ohio-state.edu (Niranjan Balachandran) Date: Thu Oct 26 23:51:14 2006 Subject: [GAP Forum] Affine general linear groups In-Reply-To: <20061025225008.88346.qmail@web37408.mail.mud.yahoo.com> References: <20061025225008.88346.qmail@web37408.mail.mud.yahoo.com> Message-ID: hi, i was looking in the manual for any help in calculations with AGL(F_127) (in general for some small primes q). I didn't find the affine linear groups documented as such in the manual. any help here would be greatly appreciated niranjan From scanders at oakland.edu Mon Oct 30 21:27:20 2006 From: scanders at oakland.edu (Scott Anderson) Date: Mon Oct 30 21:27:51 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? Message-ID: <20061030162720.AFV14980@melange.sys.oakland.edu> Hello all, I am doing some computations that require the Unix server to work for a great many hours. I dial in from home (well, I dial in to the Internet and then ssh onto the server, but you get the idea) and my ISP will disconnect me hours before the computations are finished. (I'm computing automorphism groups of quantum codes, which I port from Magma into Gap, for the record.) I can easily put the entire computation script into a file, say "scott.g", and save the workspace at the end so I can come back later and load the workspace to get the results. My question is, is it possible to tell Gap to run a particular script noninteractively? Unix-wise, if I have a command that can run noninteractively I can "nohup &", so can I use this with some option of Gap? That is, can I say for instance "nohup gap < scott.g &" to get results? Thanks, Scott Anderson From wdjoyner at gmail.com Mon Oct 30 22:47:24 2006 From: wdjoyner at gmail.com (David Joyner) Date: Mon Oct 30 22:47:46 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? In-Reply-To: <20061030162720.AFV14980@melange.sys.oakland.edu> References: <20061030162720.AFV14980@melange.sys.oakland.edu> Message-ID: <8cf963450610301447k70a5edfcjf0735bdad4cea163@mail.gmail.com> You can put the Read("..."); command in your .gaprc file http://www.gap-system.org/Manuals/doc/htm/ref/CHAP003.htm#SECT004 You can also log the output http://www.gap-system.org/Faq/Usage/usage4.html Hope this helps. ++++++++++++++++++++++++++++++++++ On 10/30/06, Scott Anderson wrote: > Hello all, > > > > I am doing some computations that require the Unix > server to work for a great many hours. I dial in > from home (well, I dial in to the Internet and then > ssh onto the server, but you get the idea) and my > ISP will disconnect me hours before the computations > are finished. (I'm computing automorphism groups of > quantum codes, which I port from Magma into Gap, for > the record.) > > > > I can easily put the entire computation script into > a file, say "scott.g", and save the workspace at the > end so I can come back later and load the workspace > to get the results. My question is, is it possible > to tell Gap to run a particular script > noninteractively? Unix-wise, if I have a command > that can run noninteractively I can "nohup > &", so can I use this with some > option of Gap? That is, can I say for instance > "nohup gap < scott.g &" to get results? > > > > Thanks, > Scott Anderson > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From rm43 at evansville.edu Mon Oct 30 23:19:56 2006 From: rm43 at evansville.edu (Robert F. Morse) Date: Mon Oct 30 23:20:21 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? In-Reply-To: <20061030162720.AFV14980@melange.sys.oakland.edu> References: <20061030162720.AFV14980@melange.sys.oakland.edu> Message-ID: <4546889C.6020507@evansville.edu> Scott Anderson wrote: > Hello all, > > > > I am doing some computations that require the Unix > server to work for a great many hours. I dial in > from home (well, I dial in to the Internet and then > ssh onto the server, but you get the idea) and my > ISP will disconnect me hours before the computations > are finished. (I'm computing automorphism groups of > quantum codes, which I port from Magma into Gap, for > the record.) > > > > I can easily put the entire computation script into > a file, say "scott.g", and save the workspace at the > end so I can come back later and load the workspace > to get the results. My question is, is it possible > to tell Gap to run a particular script > noninteractively? Unix-wise, if I have a command > that can run noninteractively I can "nohup > &", so can I use this with some > option of Gap? That is, can I say for instance > "nohup gap < scott.g &" to get results? > Dear Scott, You might consider the 'screen' command (most unix systems have it). This allows you to have a terminal available and running all the time which you can connect to anywhere to see how things are progressing. See http://en.wikipedia.org/wiki/GNU_Screen for a quick introduction and further information. Regards, Robert F. Morse From justin at mac.com Mon Oct 30 23:31:13 2006 From: justin at mac.com (Justin C. Walker) Date: Mon Oct 30 23:28:37 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? In-Reply-To: <20061030162720.AFV14980@melange.sys.oakland.edu> References: <20061030162720.AFV14980@melange.sys.oakland.edu> Message-ID: <70925027-92D4-4B53-A045-987E5818F773@mac.com> On Oct 30, 2006, at 13:27 , Scott Anderson wrote: > I can easily put the entire computation script into > a file, say "scott.g", and save the workspace at the > end so I can come back later and load the workspace > to get the results. My question is, is it possible > to tell Gap to run a particular script > noninteractively? Unix-wise, if I have a command > that can run noninteractively I can "nohup > &", so can I use this with some > option of Gap? That is, can I say for instance > "nohup gap < scott.g &" to get results? Yes, this works. Any output that is not otherwise handled will end up in the file 'nohup.out' in the directory where you issued the command. Justin -- Justin C. Walker, Curmudgeon-At-Large Institute for the Enhancement of the Director's Income -------- When LuteFisk is outlawed, Only outlaws will have LuteFisk -------- From dima at ntu.edu.sg Tue Oct 31 03:34:39 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Tue Oct 31 03:33:20 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? In-Reply-To: <20061030162720.AFV14980@melange.sys.oakland.edu> Message-ID: On 10/31/06 5:27 AM, "Scott Anderson" wrote: > I am doing some computations that require the Unix > server to work for a great many hours. I dial in > from home (well, I dial in to the Internet and then > ssh onto the server, but you get the idea) and my > ISP will disconnect me hours before the computations > are finished. > I can easily put the entire computation script into > a file, say "scott.g", and save the workspace at the > end so I can come back later and load the workspace > to get the results. My question is, is it possible > to tell Gap to run a particular script > noninteractively? Unix-wise, if I have a command > that can run noninteractively I can "nohup > &", so can I use this with some > option of Gap? That is, can I say for instance > "nohup gap < scott.g &" to get results? > you can even do "gap scott.out&" to keep the stdout output in scott.out. But I would like to vote for already mentioned "screen" command. It provides a true imitation of an interactive session. E.g. if after 20 hours of computing gap says "Out of Baz. Would you like to continue with Foo set to Baz*2 ?" then you can still continue interacting with gap (and save 20 hours, that would have been lost if you ran an non-interactive computation instead). HTH, Dima From mragland at mail.aum.edu Mon Oct 30 22:15:14 2006 From: mragland at mail.aum.edu (Matthew Ragland) Date: Tue Oct 31 10:00:34 2006 Subject: [GAP Forum] Running gap while offline on a Unix system? In-Reply-To: <20061030162720.AFV14980@melange.sys.oakland.edu> References: <20061030162720.AFV14980@melange.sys.oakland.edu> Message-ID: Scott, I ran across this same problem a few years ago. Jack Schmidt gave me a nice solution. Check and see if you can run `screen' from the command line. If so, then ssh into your server as normal, then run screen. It will appear as if nothing has happened. Then run GAP or whatever. Holding onto the control button, press `a' then `d'. This will detach your current session. You can now logout and disconnect from the internet while your GAP session is still running. Later, when you want to return to your session, you will need to ssh, login, etc. and then run `screen -r' to get back to your GAP session. You can run multiple screens also. To return to a particular session, you will need to specify a screen id. Check the man pages for more info. If I understand correctly what it is you want, I think this will help. All the best, Matt On Mon, 30 Oct 2006, Scott Anderson wrote: > Hello all, > > > > I am doing some computations that require the Unix > server to work for a great many hours. I dial in > from home (well, I dial in to the Internet and then > ssh onto the server, but you get the idea) and my > ISP will disconnect me hours before the computations > are finished. (I'm computing automorphism groups of > quantum codes, which I port from Magma into Gap, for > the record.) > > > > I can easily put the entire computation script into > a file, say "scott.g", and save the workspace at the > end so I can come back later and load the workspace > to get the results. My question is, is it possible > to tell Gap to run a particular script > noninteractively? Unix-wise, if I have a command > that can run noninteractively I can "nohup > &", so can I use this with some > option of Gap? That is, can I say for instance > "nohup gap < scott.g &" to get results? > > > > Thanks, > Scott Anderson > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Nicola.Sottocornola at fastwebnet.it Fri Nov 3 12:44:32 2006 From: Nicola.Sottocornola at fastwebnet.it (Nicola Sottocornola) Date: Fri Nov 3 12:43:46 2006 Subject: [GAP Forum] A question on fields Message-ID: Hi, I have to determine if a given rational function f belongs to the field generated by two other functions g and h. Can GAP do this? Consider this trivial example: gap>x:=Indeterminate(Rationals,1);;y:=Indeterminate(Rationals,2);; gap> F:=Field(x+y,x-y); gap> p:=x^2-y^2; x_1^2-x_2^2 gap> p in F; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 2nd choice method found for `GeneratorsOfLeftOperatorRingWithOne' on 1 arguments called from GeneratorsOfLeftOperatorRingWithOne( A ) called from GeneratorsOfLeftOperatorRing( A ) called from Basis( V ) called from Enumerator( D ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue brk> Thanks, Nicola From jimmie0 at wp.pl Fri Nov 3 13:16:17 2006 From: jimmie0 at wp.pl (siwy) Date: Fri Nov 3 14:42:26 2006 Subject: [GAP Forum] (no subject) Message-ID: <454b41217ac06@wp.pl> Hi everybody. I'm using Gap4r4, I'm wondering... Can I count a length of my number (big number)? There is a function in Gap (Length), but it count a length of list. Do You knows a simple way to count a length of my number? thx ---------------------------------------------------- Trockadero - sensacyjny balet m?ski ponownie w Polsce. Zobacz: http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fd28.html&sid=919 From hulpke at frii.com Fri Nov 3 15:30:31 2006 From: hulpke at frii.com (Alexander Hulpke) Date: Fri Nov 3 15:31:04 2006 Subject: [GAP Forum] (no subject) In-Reply-To: <454b41217ac06@wp.pl> References: <454b41217ac06@wp.pl> Message-ID: Dear GAP-Forum, siwy noname wrote: > > I'm using Gap4r4, I'm wondering... Can I count a length of my > number (big number)? If you want the number of digits of n, I would use LogInt(n,10)+1 will do. Best, Alexander Hulpke From scanders at oakland.edu Fri Nov 3 16:34:03 2006 From: scanders at oakland.edu (Scott Anderson) Date: Fri Nov 3 16:34:28 2006 Subject: [GAP Forum] (no subject) Message-ID: <20061103113403.AGB86046@melange.sys.oakland.edu> Logarithm would do it, wouldn't it? ---- Original message ---- Date: Fri, 03 Nov 2006 14:16:17 +0100 From: siwy Subject: [GAP Forum] (no subject) To: forum@gap-system.org >Hi everybody. > >I'm using Gap4r4, I'm wondering... Can I count a length of my number (big number)? > >There is a function in Gap (Length), but it count a length of list. > >Do You knows a simple way to count a length of my number? > >thx > >---------------------------------------------------- >Trockadero - sensacyjny balet m?ski ponownie w Polsce. Zobacz: >http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fd28.html&sid=919 > > >_______________________________________________ >Forum mailing list >Forum@mail.gap-system.org >http://mail.gap-system.org/mailman/listinfo/forum From ndroock1 at gmail.com Sat Nov 4 17:11:09 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Sat Nov 4 17:12:03 2006 Subject: [GAP Forum] openmath package on windows Message-ID: Dear GAP forum, Has anyone succesfully used the openmath package on windows? I have been able to use OMPrint, but OMTest and OMGetObject fail with the following message: Error, package ``openmath'': the program `gpipe' is not compiled; see the README file or the dvi/ps/pdf manual of the package ``openmath''. Without this program, conversion from OpenMath to GAP cannot be performed. called from ( ) called from read-eval-loop Entering break read-eval-print loop ... you can 'quit;' to quit to outer loop, or you can 'return;' to continue The manual does mention that openmath has not been tested on windows. Without further explanation it says that gpipe has to compiled first. I suppose I need a hint on getting gpipe compiled on windows and what else is required to get this package working. Summarizing: how can I compile gpipe from openmath on windows and what tools do I need to do that? ( My development skills on windows are limited to Java. ) Thanks in advance. -- met vriendelijke groet / kind regards, nilo de roock From dima at ntu.edu.sg Sun Nov 5 06:34:37 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Sun Nov 5 06:33:14 2006 Subject: [GAP Forum] openmath package on windows In-Reply-To: Message-ID: > Summarizing: how can I compile gpipe from openmath on windows and what > tools do I need to do that? ( My development skills on windows are limited > to Java. ) install Cygwin (www.cygwin.com) Get GAP source and build everything as if you are working under Unix. (and don't forget to build the gpipe and Openmath library (see instructions in pkg/openmath ) Perhaps it will work... Regards, Dima From ndroock1 at gmail.com Mon Nov 6 14:39:58 2006 From: ndroock1 at gmail.com (Nilo de Roock) Date: Mon Nov 6 14:40:27 2006 Subject: Fwd: [GAP Forum] openmath package on windows In-Reply-To: References: Message-ID: Thanks, I think that should do the trick. But cgywin is like getting a 2nd pc with Linux, or installing vmware with some linux. It's not what I was looking for. More sort of some tips on how to get the code compiled on windows and included in gap. If GAP supports windows then why is not every package available on windows? Why are packages accepted with documentation saying "neither tried nor tested on windows"? I don't think there is a technical reason for why this package doesn't work on windows except that the developer didn't want to develop for Windows. These packages belong in an incubator and not in a final distribution imho. Just my 0,02?. nilo de roock ---------- Forwarded message ---------- From: Dmitrii Pasechnik Date: 5-nov-2006 7:34 Subject: Re: [GAP Forum] openmath package on windows To: "Forum@mail.gap-system.org" Cc: Nilo de Roock > Summarizing: how can I compile gpipe from openmath on windows and what > tools do I need to do that? ( My development skills on windows are limited > to Java. ) install Cygwin (www.cygwin.com) Get GAP source and build everything as if you are working under Unix. (and don't forget to build the gpipe and Openmath library (see instructions in pkg/openmath ) Perhaps it will work... Regards, Dima -- met vriendelijke groet / kind regards, nilo de roock http://xmsql.sourceforge.net From caj at cs.york.ac.uk Mon Nov 6 15:14:09 2006 From: caj at cs.york.ac.uk (Chris Jefferson) Date: Mon Nov 6 15:14:34 2006 Subject: [GAP Forum] openmath package on windows In-Reply-To: References: Message-ID: On 6 Nov 2006, at 14:39, Nilo de Roock wrote: > Thanks, I think that should do the trick. But cgywin is like > getting a 2nd > pc with Linux, or installing vmware with some linux. It's not what > I was > looking for. More sort of some tips on how to get the code compiled on > windows and included in gap. Out of interest, what is the problems you have with cygwin? At it's minimum, it requires installing a small dll, and then the programs effectively work the same way as windows programs, although taking a little longer to start from my experience. > If GAP supports windows then why is not every package available on > windows? > Why are packages accepted with documentation saying "neither tried nor > tested on windows"? I don't think there is a technical reason for > why this > package doesn't work on windows except that the developer didn't > want to > develop for Windows. These packages belong in an incubator and not > in a > final distribution imho. > Having previously turned some linux programs into "correct" windows versions, I have found that it can often take a long time, as the standard way of doing things in windows is very different to the way things are done in linux. Also it is surprisingly hard to make code which works across all windows versions. Chris From dima at ntu.edu.sg Mon Nov 6 16:48:58 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Mon Nov 6 16:47:30 2006 Subject: [GAP Forum] openmath package on windows In-Reply-To: Message-ID: Proper porting GAP to native Win32 is a highly nontrivial and not really rewarding tack (there is next to no reason for doing this, too). GAP supports Windows via cygwin. Porting unix console code to cygwin is easy; actually often no porting is required at all. Not every package developer has access to a Windows machine, and people doing serious computations won't normally do them under Windows anyway. On 11/6/06 10:39 PM, "Nilo de Roock" wrote: > Thanks, I think that should do the trick. But cgywin is like getting a 2nd > pc with Linux, or installing vmware with some linux. It's not what I was > looking for. More sort of some tips on how to get the code compiled on > windows and included in gap. That's exactly the tip you asked for, you surely don't want to interface cygwin processes (that is, gap) with native Win32, for this is pain in the neck. Getting/installing cygwin is trivial. doe maar gewoon, dan doe je al gek genoeg! :) > > If GAP supports windows then why is not every package available on windows? > Why are packages accepted with documentation saying "neither tried nor > tested on windows"? I don't think there is a technical reason for why this > package doesn't work on windows except that the developer didn't want to > develop for Windows. These packages belong in an incubator and not in a > final distribution imho. > > Just my 0,02. > nilo de roock > > ---------- Forwarded message ---------- > From: Dmitrii Pasechnik > Date: 5-nov-2006 7:34 > Subject: Re: [GAP Forum] openmath package on windows > To: "Forum@mail.gap-system.org" > Cc: Nilo de Roock > >> Summarizing: how can I compile gpipe from openmath on windows and what >> tools do I need to do that? ( My development skills on windows are limited >> to Java. ) > install Cygwin (www.cygwin.com) > Get GAP source and build everything as if you are working under Unix. > (and don't forget to build the gpipe and Openmath library (see instructions > in pkg/openmath ) > > Perhaps it will work... > > Regards, > Dima > > Regards, -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From muntyan at tamu.edu Mon Nov 6 17:06:54 2006 From: muntyan at tamu.edu (Yevgen Muntyan) Date: Mon Nov 6 17:07:22 2006 Subject: Fwd: [GAP Forum] openmath package on windows In-Reply-To: References: Message-ID: <27401.128.194.179.15.1162832814.squirrel@neoweb.tamu.edu> On Mon, November 6, 2006 8:39 am, Nilo de Roock wrote: > Thanks, I think that should do the trick. But cgywin is like getting a 2nd > pc with Linux, or installing vmware with some linux. It's not what I was > looking for. More sort of some tips on how to get the code compiled on > windows and included in gap. GAP on windows *is* a cygwin application, it's built on/with cygwin and uses cygwin1.dll (it's in the bin/ folder next to the GAP executable). You need full-blown cygwin installation only if you want functionality provided by third-party libraries ("not by OS"), or if you need third-party applications. It's likely not the case with that "gpipe" program. > If GAP supports windows then why is not every package available on > windows? > Why are packages accepted with documentation saying "neither tried nor > tested on windows"? I don't think there is a technical reason for why this > package doesn't work on windows except that the developer didn't want to > develop for Windows. Imagine a person who is working on unix-like system. He won't do win32 stuff if it's not really needed. And it's not needed until someone needs it. And even then, win32 is hard, it's way different from unix. And he needs to *buy* windows system for many dollars, and he needs to spend lot of time to setup development environment, and so on. (This was a scenario describing why some package wouldn't be ported on windows, things are often better than that) > These packages belong in an incubator and not in a > final distribution imho. My personal opinion, not of those who decide what belongs to distribution and what doesn't: if a package works on unix, and if it does useful job, then it should be distributed even if it doesn't work and will never work on windows. GAP is not about absolute portability (though GAP developers did great job to ensure maximal portability), it's about results. Groups, algorithms, problems, stuff like that :) Best regards, Yevgen From vze269bv at verizon.net Tue Nov 7 22:50:12 2006 From: vze269bv at verizon.net (Bruce Colletti) Date: Tue Nov 7 23:28:25 2006 Subject: [GAP Forum] GAP 4.4.8 Tutorial (pdf version) Message-ID: <16327924.2038851162939812744.JavaMail.root@vms076.mailsrvcs.net> Page 45 of the GAP 4.4.8 Tutorial (the pdf document's Section 5.1) has an example in which the result of Image(hom) is Group([(),(),(),(4,5)(6,7), (4,6)(5,7), (2,3)(6,7), (2,4)(3,5), (1,2)(5,6)]) Why does the identity element appear thrice in the above list of generators? Thankx. Bruce From dima at ntu.edu.sg Wed Nov 8 01:37:59 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Wed Nov 8 01:37:39 2006 Subject: [GAP Forum] GAP 4.4.8 Tutorial (pdf version) In-Reply-To: <16327924.2038851162939812744.JavaMail.root@vms076.mailsrvcs.net> Message-ID: This means that the first 3 generators of the preimage are in the kernel of hom. On 11/8/06 6:50 AM, "Bruce Colletti" wrote: > Page 45 of the GAP 4.4.8 Tutorial (the pdf document's Section 5.1) has an > example in which the result of Image(hom) is > > Group([(),(),(),(4,5)(6,7), (4,6)(5,7), (2,3)(6,7), (2,4)(3,5), (1,2)(5,6)]) > > Why does the identity element appear thrice in the above list of generators? > > Thankx. > > Bruce > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From Nicola.Sottocornola at fastwebnet.it Wed Nov 8 16:02:46 2006 From: Nicola.Sottocornola at fastwebnet.it (Nicola Sottocornola) Date: Wed Nov 8 16:01:36 2006 Subject: [GAP Forum] A question on fields In-Reply-To: <454FFF68.1060209@gmail.com> References: <454FFF68.1060209@gmail.com> Message-ID: Hi, thank you for your answer. I don't know what a Groebner basis is so I can't understand your idea. I just tested it with an example: let F = Ideal(xyz, yz) and G = Ideal(xyz, yz, x). I have found that the GB of F is {zy} and the GB of G is {zy,x}. The basis are different but x is in the field generated by xyz and yz (?) Maybe I made a misteke in computing the basis... Nicola On 07/nov/06, at 04:37, David Joyner wrote: > I wonder if the following idea might work: > You could create the ideal I generated by x-y,x+y. > Now create the ideal J generated by x-y,x+y,p > Compute the Grobner bases of I,J and compare them. > If the GB of I equals the GB of J then p is in F. > > +++++++++++++++++++++++++++++++++++++++ From fantino at gmail.com Wed Nov 8 16:28:25 2006 From: fantino at gmail.com (Fernando Fantino) Date: Wed Nov 8 21:11:47 2006 Subject: [GAP Forum] Defining a set. Message-ID: One question: How do you define (in the GAP) a set by comprehension? i.e. given a set T and an element p I want to define a set S compose by element y of the form: y=x * p * Inverse(x), such that x "move" over all T. Thanks. Fernando. From jjm at mcs.st-and.ac.uk Wed Nov 8 21:44:37 2006 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Wed Nov 8 22:02:53 2006 Subject: [GAP Forum] New update of GAP released Message-ID: <644DDECE-0F92-463E-808E-B3F27FB896B2@mcs.st-and.ac.uk> Dear GAP Forum, We are delighted to announce the release of GAP 4 release 4 update 9 (GAP 4.4.9 for short), which is available now from the GAP Web pages and FTP site. The priority of this upgrade is high, since it contains a fix for a bug which can return wrong results without warning. All users should update to this release as soon as possible. This update follows quickly on the heels of GAP 4.4.8 in order to fix a bug in the code for the function Orbits, introduced in the previous update, which had been reported by several users. The full details of the update can be found on the web pages at http://www.gap-system.org/Download/Updates/ gap4r4p9.html. John McDermott, for the GAP Group. -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From mniebrz at gmail.com Wed Nov 8 22:44:13 2006 From: mniebrz at gmail.com (Maciej Niebrzydowski) Date: Wed Nov 8 22:44:23 2006 Subject: [GAP Forum] Defining a set. In-Reply-To: References: Message-ID: If your set is just a list then you could write a simple function: f:=function(T,p) local i,S,t; S:=[]; t:=Size(T); for i in [1..t] do Add(S, T[i]*p*(T[i]^-1)); od; return(S); end; You can write this in some text file, e.g. prog.txt and then you load it into Gap using Read("C:/prog.txt"), or whatever path you have. I hope it helps Maciej Niebrzydowski On 11/8/06, Fernando Fantino wrote: > One question: > > How do you define (in the GAP) a set by comprehension? > i.e. given a set T and an element p I want to define a set S compose by > element y of the form: > > y=x * p * Inverse(x), such that x "move" over all T. > > Thanks. Fernando. > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From Rudolf.Zlabinger at chello.at Wed Nov 8 23:10:35 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed Nov 8 23:11:52 2006 Subject: [GAP Forum] Defining a set. Message-ID: <00aa01c7038b$19bc5960$d5476d50@zlabinger> That depends on the structure of the set T, defined by the rules for the multiplication "*" and "Inverse" you mean: for groups, for example, this is done by ConjugacyClass(T,p) Moreover, if T is a set in the form of a list and "*" and "Inverse" is defined for the elements: AsSet(List(T,x->x"*"p"*""Inverse(x)")); creates the set you looked for. Rudolf Zlabinger > > ----- Original Message ----- > From: "Fernando Fantino" > To: > Sent: Wednesday, November 08, 2006 5:28 PM > Subject: [GAP Forum] Defining a set. > > >> One question: >> >> How do you define (in the GAP) a set by comprehension? >> i.e. given a set T and an element p I want to define a set S compose by >> element y of the form: >> >> y=x * p * Inverse(x), such that x "move" over all T. >> >> Thanks. Fernando. >> _______________________________________________ >> Forum mailing list >> Forum@mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> From mborges at mabt.uo.edu.cu Thu Nov 9 17:54:24 2006 From: mborges at mabt.uo.edu.cu (Miguel Angel Borges-Trenard) Date: Thu Nov 9 14:57:20 2006 Subject: [GAP Forum] A question on fields: Message-ID: <019a01c70428$178f03c0$010000ac@MiguelAngelBorgesTrenard> Dear GAP Forum, I wrote the letter below to Prof. Joyner and he suggested me to send it to the forum. Borges. ----- Original Message ----- From: Miguel Angel Borges-Trenard To: David Joyner Sent: Thursday, November 09, 2006 9:13 AM Subject: On "Re: [GAP Forum] A question on fields": A personal communication. Dear Professor Joyner, I believe the key point is that there are two problems around: Given a field k, indeterminates x1,...,xn, and polynomials g1,..., gm, p in k[x1,...,xn], decide whether: (1) p in Ideal(g1,...,gm) (membership ideal problem). (2) p in k(g1,...,gm) (i.e. p is in the field of rational functions generated by g1,..., gm over k. This is the field membership problem). Problem 2 could also be formulated and solved when g1,..., gm, p are rational functions. I believe your proposal (see below) solves Problem 1. (I think it is not necessary to compute the ideal J generated by x-y,x+y,p; even in GAP could there be alternatives of computing reduced forms, applied to p.) But Problem 2 is more involved, I have seen a solution in the reference below (algorithms 1.8 and 1.10 there). I don't know whether there are some new and more efficient methods and I have not had time to see whether those algorithms can be implemented in GAP, but I believe it can be possible. (At first glance, it seems to be that it is necessary to compute Groebner bases over the field k(g1,...,gm).) With best regards, Borges. Miguel Angel Borges-Trenard Departamento de Matem?tica Facultad de Matem?tica Computaci?n Universidad de Oriente Cuba Basic Algorithms for Rational Function Fields. J. Muller-Quade and R. Steinwandt. J. Symbolic Computation, 1999, V. 27, p. 143-170. ----- Original Message ----- From: Nicola Sottocornola To: David Joyner Cc: GAP Forum Sent: Wednesday, November 08, 2006 8:02 AM Subject: Re: [GAP Forum] A question on fields > Hi, > > thank you for your answer. I don't know what a Groebner basis is so I > can't understand your idea. I just tested it with an example: > > let F = Ideal(xyz, yz) and G = Ideal(xyz, yz, x). > > I have found that the GB of F is {zy} and the GB of G is {zy,x}. The > basis are different but x is in the field generated by xyz and yz (?) > > Maybe I made a misteke in computing the basis... > > Nicola > > > On 07/nov/06, at 04:37, David Joyner wrote: > > > I wonder if the following idea might work: > > You could create the ideal I generated by x-y,x+y. > > Now create the ideal J generated by x-y,x+y,p > > Compute the Grobner bases of I,J and compare them. > > If the GB of I equals the GB of J then p is in F. From dima at ntu.edu.sg Thu Nov 9 16:42:14 2006 From: dima at ntu.edu.sg (Dmitrii Pasechnik) Date: Thu Nov 9 16:40:45 2006 Subject: [GAP Forum] New update of GAP released In-Reply-To: <644DDECE-0F92-463E-808E-B3F27FB896B2@mcs.st-and.ac.uk> Message-ID: Hi there, may I ask why the file fix4r4p9 consists almost entirely of files that are the same as in the release 4.4.8? E.g. in bin/ there are just the same gap95.exe and cygwin1.dll files as in 4.4.8. Does this mean that the GAP executable doesn't have to be rebuilt? IMHO this is entirely unnnecessary waste of bandwidth. (and for folks on a slow connection to internet just plain painful) Ideally, one would only distribute patches. At least for people who rebuild GAP and thus have all the development tools there anyway, patching the source is as easy as installing the update. Thanks, Dima On 11/9/06 5:44 AM, "John McDermott" wrote: > Dear GAP Forum, > > We are delighted to announce the release of GAP 4 release 4 update 9 > (GAP 4.4.9 > for short), which is available now from the GAP Web pages and FTP > site. The > priority of this upgrade is high, since it contains a fix for a bug > which can > return wrong results without warning. All users should update to this > release > as soon as possible. > > This update follows quickly on the heels of GAP 4.4.8 in order to fix > a bug in > the code for the function Orbits, introduced in the previous update, > which had > been reported by several users. The full details of the update can be > found on > the web pages at http://www.gap-system.org/Download/Updates/ > gap4r4p9.html. > > John McDermott, > for the GAP Group. > > -- > John McDermott > Scientific Officer > School of Computer Science > University of St Andrews > North Haugh, St Andrews, Fife > KY16 9SX > SCOTLAND > > (Room 0.17, Jack Cole Building) > > tel +44 1334 463252 > mob +44 7941 507531 > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dima Pasechnik http://www.ntu.edu.sg/home/dima/ From mfrincu at info.uvt.ro Fri Nov 10 10:17:05 2006 From: mfrincu at info.uvt.ro (mfrincu@info.uvt.ro) Date: Fri Nov 10 10:17:33 2006 Subject: [GAP Forum] Accessing java from GAP In-Reply-To: <200611091643.kA9Ggx5Y016631@gap-system.org> References: <200611091643.kA9Ggx5Y016631@gap-system.org> Message-ID: <20061110121705.1emmkeix4ww8s4w0@webmail.info.uvt.ro> hello, I am trying to run Java code from GAP, but I'm having difficulties finding a way to do that. Could anyone give me a sollution for this? Thanks, Marc. From ally at dcs.gla.ac.uk Fri Nov 10 11:55:02 2006 From: ally at dcs.gla.ac.uk (Alastair Donaldson) Date: Fri Nov 10 11:56:34 2006 Subject: [GAP Forum] Accessing java from GAP References: <200611091643.kA9Ggx5Y016631@gap-system.org> <20061110121705.1emmkeix4ww8s4w0@webmail.info.uvt.ro> Message-ID: <58577CAC1C0FB34DAA24FA9DC76613F1017731F4@ex1.ad.dcs.gla.ac.uk> I have an example where I use GAP to start (and communicate with) a C program - doing this with Java should be no different in principle. I also have examples where I use a Java program to start (and communicate with) GAP. Let me know if either would be of interest. Ally -----Original Message----- From: forum-bounces@gap-system.org on behalf of mfrincu@info.uvt.ro Sent: Fri 10/11/2006 10:17 AM To: forum@gap-system.org Subject: [GAP Forum] Accessing java from GAP hello, I am trying to run Java code from GAP, but I'm having difficulties finding a way to do that. Could anyone give me a sollution for this? Thanks, Marc. _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From vze269bv at verizon.net Fri Nov 10 15:13:04 2006 From: vze269bv at verizon.net (Bruce Colletti) Date: Fri Nov 10 15:25:05 2006 Subject: [GAP Forum] Random Matrix Message-ID: <27610649.1028261163171584847.JavaMail.root@vms070.mailsrvcs.net> In GAP 4.4.9, I want to create a random matrix of arbitrarily large integers. However, I must be able to reset the random number stream so that the same matrices can be regenerated. How is this done using RandomMat? Thankx. Bruce From kohl at mathematik.uni-stuttgart.de Fri Nov 10 17:12:15 2006 From: kohl at mathematik.uni-stuttgart.de (Stefan Kohl) Date: Fri Nov 10 17:12:27 2006 Subject: [GAP Forum] Random Matrix In-Reply-To: <27610649.1028261163171584847.JavaMail.root@vms070.mailsrvcs.net> References: <27610649.1028261163171584847.JavaMail.root@vms070.mailsrvcs.net> Message-ID: <4554B2EF.2050805@mathematik.uni-stuttgart.de> Dear Forum, Bruce Colletti wrote: > In GAP 4.4.9, I want to create a random matrix of arbitrarily large integers. > However, I must be able to reset the random number stream so that the same matrices > can be regenerated. > > How is this done using RandomMat? There are two things: - Random sources can be initialized by the operation `Reset'. For the documentation of random sources, see ?Random sources. E.g.: gap> Reset(GlobalMersenneTwister);; gap> RandomMat(2,3,Integers); [ [ -1, -4, -1 ], [ -3, -2, 1 ] ] gap> Reset(GlobalMersenneTwister);; gap> RandomMat(2,3,Integers); [ [ -1, -4, -1 ], [ -3, -2, 1 ] ] - `RandomMat' does not produce matrices with arbitrarily large entries. However you can just write your own little function, e.g.: RandomLargeIntegerMat := function ( n, m, bound ) return List([1..n],i->List([1..m],j->Random(-bound,bound))); end; Then the rest is straightforward: gap> Reset(GlobalMersenneTwister);; gap> RandomLargeIntegerMat(2,3,10^20); [ [ 35478973841434169085, -5727827082917039741, 30043532000967004818 ], [ 98456515568185409751, -23365773455484833982, 29964620678188938398 ] ] gap> Reset(GlobalMersenneTwister);; gap> RandomLargeIntegerMat(2,3,10^20); [ [ 35478973841434169085, -5727827082917039741, 30043532000967004818 ], [ 98456515568185409751, -23365773455484833982, 29964620678188938398 ] ] Hope this helps, Stefan Kohl ------------------------------------------------------------------------------- http://www.cip.mathematik.uni-stuttgart.de/~kohlsn/ ------------------------------------------------------------------------------- From l.h.soicher at qmul.ac.uk Fri Nov 10 17:00:29 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Fri Nov 10 17:42:38 2006 Subject: [GAP Forum] DESIGN 1.3 Message-ID: <20061110170029.GA18650@jordan.maths.qmul.ac.uk> Dear All, I am pleased to announce the release of version 1.3 of the DESIGN package for GAP. This release fixes two small bugs in the Design 1.2 major upgrade (see below), and includes a new function `WittDesign' for constructing the famous designs of Witt related to the Mathieu groups. DESIGN 1.3 is available from both http://designtheory.org/software/gap_design/ and http://www.gap-system.org/Packages/design.html . Best wishes, Leonard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Main changes from DESIGN 1.2 to DESIGN 1.3 ------------------------------------------ (1) Added function: WittDesign. (2) Fixed a bug which caused a break loop to be entered in certain cases in function BlockDesigns when the least element of blockSizes was equal to tSubsetStructure.t. (3) Fixed a rarely occurring bug which caused no designs to be returned in function BlockDesigns in certain cases when the designs had just one block each. (4) Small improvements made to the documentation and the code. Main changes from DESIGN 1.1 to DESIGN 1.2 ------------------------------------------ (1) Added functions: BlockIntersectionPolynomial BlockIntersectionPolynomialCheck TDesignLambdas TDesignLambdaMin TDesignIntersectionTriangle SteinerSystemIntersectionTriangle TDesignBlockMultiplicityBound ResolvableTDesignBlockMultiplicityBound BlockDesignPoints NrBlockDesignPoints BlockDesignBlocks NrBlockDesignBlocks PairwiseBalancedLambda AffineResolvableMu DeletedPointsBlockDesign DeletedBlocksBlockDesign AddedPointBlockDesign AddedBlocksBlockDesign DerivedBlockDesign ResidualBlockDesign (2) The function BlockDesign can now (optionally) construct a block design from base blocks and a group of automorphisms, and the list of blocks given to BlockDesign need no longer be sorted. (3) Improved documentation of the function TDesignFromTBD, and changed the parameters (in a backward compatible way) to match the description of the "*-construction" in the McSorley-Soicher paper. (4) The (undocumented) resolveSimple option removed from functions BlockDesigns and PartitionsIntoBlockDesigns, and the option b added to these functions (to specify the number of blocks in a required block design or partition part). (5) Improvements made to the use of store (and time?) by the function BlockDesigns. From jjm at mcs.st-and.ac.uk Sat Nov 11 12:20:24 2006 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Sat Nov 11 12:23:26 2006 Subject: [GAP Forum] New update of GAP released In-Reply-To: References: Message-ID: Dear Dima, Dear Forum, On 9 Nov 2006, at 16:42, Dmitrii Pasechnik wrote: > Hi there, > may I ask why the file fix4r4p9 consists almost entirely of files > that are > the same as in the release 4.4.8? > E.g. in bin/ there are just the same gap95.exe and cygwin1.dll > files as in > 4.4.8. Does this mean that the GAP executable doesn't have to be > rebuilt? > In fact the kernel was changed, so the executable gapw95.exe has changed (though you are correct that the dll has not changed between these two versions). GAP must be rebuilt - please follow the instructions on the page: http://www.gap-system.org/Download/upgrade.html (Windows users can just ignore the step starting with "On UNIX/Linux you must ...") > IMHO this is entirely unnnecessary waste of bandwidth. (and for > folks on a > slow connection to internet just plain painful) > > Ideally, one would only distribute patches. At least for people who > rebuild > GAP and thus have all the development tools there anyway, patching the > source is as easy as installing the update. > Many years ago, when the network was slower, we used to do exactly what you are suggesting -- release incremental patches that updated from GAP x.y.z to x.y.z+1. While this did, indeed, minimise download sizes, it caused a steady stream of problems from users who didn't have a patch installed, or had a broken version of patch, or mistyped the patch command line, or applied it from the wrong directory or applied the two patches to get from from x.y.z to x.y.z+2 in the wrong order, or otherwise made small mistakes which corrupted their GAP installations. We have moved, progressively, to the current arrangement of releasing a fix file which can be applied to ANY version of GAP 4.4, simply by unpacking it. We find the extra bandwidth more than justified by the reduced support effort. For sophisticated users who wish to reduce bandwidth, Frank Luebeck maintains a complete GAP installation for Linux (including compiled binaries for relevant packages and so on) which you can access using rsync, which will efficiently send you just the data you need to update your copy to match his at any time. There is a link to this distribution at http://www.gap-system.org/Download > Thanks, > Dima > Best wishes, John. -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From mmarco at unizar.es Mon Nov 13 09:29:58 2006 From: mmarco at unizar.es (Miguel Marco) Date: Mon Nov 13 09:29:40 2006 Subject: [GAP Forum] Texmacs interface In-Reply-To: References: Message-ID: <200611131029.58905.mmarco@unizar.es> I have been using TexMacs as a GUI for other computer algebra systems, but i have been unable to use it for GAP. Is there a way to do so? If there isn't: is it possible to implement it in future versions of GAP? Thanks in advance: Miguel Marco Buzunariz Departamento de matematicas Universidad de Zaragoza From bob.heffernan at gmail.com Wed Nov 15 13:56:47 2006 From: bob.heffernan at gmail.com (Robert Heffernan) Date: Wed Nov 15 13:57:05 2006 Subject: [GAP Forum] isoclinism Message-ID: <6d9a83e90611150556r56f72a0rdfbe977b94878912@mail.gmail.com> Hi, Is there a function in GAP to determine whether or not two groups are isoclinic and, if so, to return an isoclinism (or even all isoclinisms) between the two groups? A search of the documentation doesn't bring anything up. Perhaps somebody has coded this up for their own purposes and would be willing to share? thank you, Bob -- Robert Heffernan Mathematics Postgraduate, UCC, Cork, Ireland. Email: bob.heffernan@gmail.com www: http://bob.nonado.net Blog: http://blogs.linux.ie/yarr From laurent.bartholdi at gmail.com Fri Nov 17 16:02:34 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Fri Nov 17 16:02:51 2006 Subject: [GAP Forum] free nilpotent p-groups? Message-ID: <1ff637850611170802k558d1e40l3d708631fb9fd40c@mail.gmail.com> dear forum, i'm a bit surprised by the performance of calculations in free nilpotent p-groups: in the following code, computation takes forever. if i replace p by a smaller prime, like 601, it's sluggish, while for really small primes it's blindingly fast. i was under the impression that computational time should scale logarithmically in p. can anybody help me out? LoadPackage("anupq"); p := 1201; r := 3; n := 4; F := FreeGroup(r); F := F / List(GeneratorsOfGroup(F),g->g^p); F := Pq(F : Prime := p, ClassBound := n+1); Print("alive\n"); Print("F1^-1*F3=",F.1^-1*F.3,"\n"); Print("F3^-1*F1=",F.3^-1*F.1,"\n (never reached!)"); -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From vze269bv at verizon.net Sun Nov 19 17:56:11 2006 From: vze269bv at verizon.net (Bruce Colletti) Date: Sun Nov 19 17:56:26 2006 Subject: [GAP Forum] Corrupted Message in HelpText Message-ID: <22855917.5635371163958972539.JavaMail.root@vms073.mailsrvcs.net> I've installed these 4.4.9 files under WinXP: - gap4r4p9-win.zip - packages-2006_11_09-19_37_UTC-win.zip - xtom1r1p2-win.zip - tools4r4p9-win.zip - htmie4r4p9-win.zip The installation tests pass but when I enter ?orbit, repeated "corrupted manual.six" messages appear, followed by the help text. These messages don't appear for another who has installed 4.4.9 (under WinXP). However, he only installed the above packages-2006 file. What causes these messages and how can they be eliminated? I've re-downloaded/re-installed the above files, but the messages persist. Thankx. Bruce From l.h.soicher at qmul.ac.uk Tue Nov 21 14:10:15 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Tue Nov 21 14:10:30 2006 Subject: [GAP Forum] free nilpotent p-groups? In-Reply-To: <1ff637850611170802k558d1e40l3d708631fb9fd40c@mail.gmail.com> References: <1ff637850611170802k558d1e40l3d708631fb9fd40c@mail.gmail.com> Message-ID: <20061121141015.GA14528@jordan.maths.qmul.ac.uk> Dear Laurent, It looks to me like you should be using a PQuotient program that makes use of a "Deep Thought" collector. I doubt this is the case with the anupq and don't know whether it is the case with GAP's `PQuotient' function, which runs very fast for your example: gap> p := 1201; 1201 gap> r := 3; 3 gap> n := 4; 4 gap> F := FreeGroup(r); gap> F := F / List(GeneratorsOfGroup(F),g->g^p); gap> PQuotient(F,p,n+1); <1201-quotient system of 1201-class 5 with 80 generators> gap> Best wishes, Leonard On Fri, Nov 17, 2006 at 05:02:34PM +0100, Laurent Bartholdi wrote: > dear forum, > i'm a bit surprised by the performance of calculations in free > nilpotent p-groups: > in the following code, computation takes forever. if i replace p by a > smaller prime, like 601, it's sluggish, while for really small primes > it's blindingly fast. > i was under the impression that computational time should scale > logarithmically in p. can anybody help me out? > > LoadPackage("anupq"); > p := 1201; > r := 3; > n := 4; > F := FreeGroup(r); > F := F / List(GeneratorsOfGroup(F),g->g^p); > F := Pq(F : Prime := p, ClassBound := n+1); > Print("alive\n"); > Print("F1^-1*F3=",F.1^-1*F.3,"\n"); > Print("F3^-1*F1=",F.3^-1*F.1,"\n (never reached!)"); > > -- > Laurent Bartholdi \ laurent.bartholdigmailcom > EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 > Station 8 \ Secr?taire: +41 21-6935501 > CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From l.h.soicher at qmul.ac.uk Tue Nov 21 14:41:03 2006 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Tue Nov 21 14:41:17 2006 Subject: [GAP Forum] free nilpotent p-groups? In-Reply-To: <20061121141015.GA14528@jordan.maths.qmul.ac.uk> References: <1ff637850611170802k558d1e40l3d708631fb9fd40c@mail.gmail.com> <20061121141015.GA14528@jordan.maths.qmul.ac.uk> Message-ID: <20061121144103.GA14751@jordan.maths.qmul.ac.uk> Or, is the problem in computing in your group after it is constructed by a PQuotient program? Here in particular, for p-groups with p large, you should be making use of a "Deep Thought" collector (see C.R. Leedham-Green and L.H. Soicher, Symbolic collection using Deep Thought, London Math. Soc. J. Comput. Math. 1 (1998), 9-24). Regards, Leonard On Tue, Nov 21, 2006 at 02:10:15PM +0000, Leonard Soicher wrote: > Dear Laurent, > > It looks to me like you should be using a PQuotient program > that makes use of a "Deep Thought" collector. I doubt this is > the case with the anupq and don't know whether it is the case with > GAP's `PQuotient' function, which runs very fast for your example: > > gap> p := 1201; > 1201 > gap> r := 3; > 3 > gap> n := 4; > 4 > gap> F := FreeGroup(r); > > gap> F := F / List(GeneratorsOfGroup(F),g->g^p); > > gap> PQuotient(F,p,n+1); > <1201-quotient system of 1201-class 5 with 80 generators> > gap> > > Best wishes, > Leonard > > On Fri, Nov 17, 2006 at 05:02:34PM +0100, Laurent Bartholdi wrote: > > dear forum, > > i'm a bit surprised by the performance of calculations in free > > nilpotent p-groups: > > in the following code, computation takes forever. if i replace p by a > > smaller prime, like 601, it's sluggish, while for really small primes > > it's blindingly fast. > > i was under the impression that computational time should scale > > logarithmically in p. can anybody help me out? > > > > LoadPackage("anupq"); > > p := 1201; > > r := 3; > > n := 4; > > F := FreeGroup(r); > > F := F / List(GeneratorsOfGroup(F),g->g^p); > > F := Pq(F : Prime := p, ClassBound := n+1); > > Print("alive\n"); > > Print("F1^-1*F3=",F.1^-1*F.3,"\n"); > > Print("F3^-1*F1=",F.3^-1*F.1,"\n (never reached!)"); > > > > -- > > Laurent Bartholdi \ laurent.bartholdigmailcom > > EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 > > Station 8 \ Secr?taire: +41 21-6935501 > > CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 > > > > _______________________________________________ > > Forum mailing list > > Forum@mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum From tmeletn at gmail.com Wed Nov 22 20:22:42 2006 From: tmeletn at gmail.com (Tom Meletn) Date: Wed Nov 22 20:22:57 2006 Subject: [GAP Forum] maximal subgroups of PSp(8,2) Message-ID: <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com> Dear GAP forum, Does anybody know about the structure of maximal subgroups of PSp(8,2)? As I checked nothing is available on the ATLAS web page about it. I will be thankful for any help. Tom From dfh at maths.warwick.ac.uk Thu Nov 23 08:53:43 2006 From: dfh at maths.warwick.ac.uk (Derek Holt) Date: Thu Nov 23 08:54:17 2006 Subject: [GAP Forum] maximal subgroups of PSp(8,2) In-Reply-To: <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com> References: <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com> Message-ID: <20061123085343.GA21102@maths.warwick.ac.uk> Dear Tom, GAP Forum, There are 11 classes of these, arranged according to their Aschbacher category: Five reducibles: 2^(1+6).S(6,2) 2^(1+2+8).3.2.A6.2 2^(3+6).3.2.2^3.L(2,7) 2^(6+4).A8 3.2.S(6,2) One imprimitive: (A6 x A6).2.2.2 One semilinear: S(4,4).2 Two classical: O+(8,2).2 O-(8,2).2 Two other almost simple irreducibles: L(2,17) S10 Derek Holt. On Wed, Nov 22, 2006 at 12:22:42PM -0800, Tom Meletn wrote: > Dear GAP forum, > > Does anybody know about the structure of maximal subgroups of PSp(8,2)? > As I checked nothing is available on the ATLAS web page about it. I will be > thankful for any help. > > Tom > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jjm at mcs.st-and.ac.uk Thu Nov 23 10:01:30 2006 From: jjm at mcs.st-and.ac.uk (John McDermott) Date: Thu Nov 23 10:03:20 2006 Subject: [GAP Forum] (no subject) Message-ID: Forwarded message. Replies to Jim Heckman and/or the Forum list, please. From: "Jim Heckman" Date: 23 November 2006 04:38:52 GMT To: Subject: Re: [GAP Forum] maximal subgroups of PSp(8,2) On 22-Nov-2006, "Tom Meletn" wrote in message <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com>: > Dear GAP forum, > > Does anybody know about the structure of maximal subgroups of PSp > (8,2)? > As I checked nothing is available on the ATLAS web page about it. I > will > be thankful for any help. > > Tom > In /The ATLAS of Finite Groups/ by Conway, Curtis, Norton, Parker and Wilson, 1985 Clarendon Press, they're listed as: O-(8,2):2 [120] O+(8,2):2 [136] 2^7:S(6,2) [255] 2^{10}:A_8 [2295] 2^{3+8}:(S_3 x S_6) [5355] S_3 x S(6,2) [5440] 2^{6+6}:(S_3 x L(3,2)) [11475] S_{10} [13056] S(4,4):2 [24192] (S_6 x S_6):2 [45696] L(2,17) [19353600] where the figures in brackets are the indices in S(8,2) of the given maximal group. -- Jim Heckman -- John McDermott Scientific Officer School of Computer Science University of St Andrews North Haugh, St Andrews, Fife KY16 9SX SCOTLAND (Room 0.17, Jack Cole Building) tel +44 1334 463252 mob +44 7941 507531 From Mathieu.Dutour at ens.fr Thu Nov 23 10:23:25 2006 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Thu Nov 23 10:23:44 2006 Subject: [GAP Forum] A strange feature of AppendTo Message-ID: <20061123102325.GA23643@orge.ens.fr> Dear all, this is something rather mundane, but when I do the following output:=OutputTextFile("test", true);; AppendTo(output, TheString); CloseStream(output) then some arbitrary "\n" are inserted after 80 characters. Is there a reason for that? Mathieu -- Mathieu Dutour Sikiric Researcher in Mathematics Telephone:.(+385)1 4571 237 and Computer Science Cell Phone: (+385)9 19 36 30 80 Laboratory of satellite oceanography E-mail: Mathieu.Dutour@ens.fr Rudjer Boskovic Institute http://www.liga.ens.fr/~dutour Zagreb Croatia skype name: mathieudutour From thomas.breuer at math.rwth-aachen.de Thu Nov 23 10:31:35 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Thu Nov 23 10:31:47 2006 Subject: [GAP Forum] maximal subgroups of PSp(8,2) In-Reply-To: <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com> References: <9ee207f00611221222w6230883bw591c8b5c2b63f1f6@mail.gmail.com> Message-ID: <20061123103135.GA599@math.rwth-aachen.de> Dear GAP Forum, in addition to Derek's answer, it could be mentioned that the maximal subgroups of PSp(8,2) are listed on p. 123 of the Atlas of Finite Groups. On Wed, Nov 22, 2006 at 12:22:42PM -0800, Tom Meletn wrote: > Dear GAP forum, > > Does anybody know about the structure of maximal subgroups of PSp(8,2)? > As I checked nothing is available on the ATLAS web page about it. I will be > thankful for any help. From Frank.Luebeck at math.rwth-aachen.de Thu Nov 23 11:46:35 2006 From: Frank.Luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu Nov 23 11:47:11 2006 Subject: [GAP Forum] A strange feature of AppendTo In-Reply-To: <20061123102325.GA23643@orge.ens.fr> References: <20061123102325.GA23643@orge.ens.fr> Message-ID: <20061123114635.GA2482@math.rwth-aachen.de> On Thu, Nov 23, 2006 at 11:23:25AM +0100, Mathieu Dutour wrote: > this is something rather mundane, but when I do > the following > > output:=OutputTextFile("test", true);; > AppendTo(output, TheString); > CloseStream(output) > > then some arbitrary "\n" are inserted after 80 > characters. Is there a reason for that? > > Mathieu Dear Mathieu, dear Forum, When you use Print in GAP it uses some algorithm to break the output into lines (in the hope to make it more readable): gap> Concatenation([1],[1..35]); [ 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35 ] gap> TheString := Concatenation(List([1..10],i->"some string")); "some stringsome stringsome stringsome stringsome stringsome stringsome string\ some stringsome stringsome string" gap> Print(TheString,"\n"); some stringsome stringsome stringsome stringsome stringsome stringsome strings\ ome stringsome stringsome string The same algorithm is used if you print to an OutputTextFile stream. This is what you describe. If you don't want this formatting you can switch it off as follows: gap> output:=OutputTextFile("test", true);; gap> SetPrintFormattingStatus(output, false); gap> AppendTo(output, TheString); gap> CloseStream(output); Now there is no additional '\n' and this is faster as well. Note also that there is a function FileString: gap> FileString("test",TheString,true);; (This and a corresponding StringFile are quite efficient for writing and reading large strings to/from files.) Best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: Frank.Luebeck@Math.RWTH-Aachen.De /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ From vdovin at math.nsc.ru Fri Nov 24 07:51:22 2006 From: vdovin at math.nsc.ru (Vdovin Evgenii) Date: Fri Nov 24 07:50:46 2006 Subject: [GAP Forum] promlems with gapsync Message-ID: <4566A47A.20106@math.nsc.ru> I tried to update GAP via gapsync and every time I get the following result: Calling: /usr/bin/rsync -avz --delete --port 8731 --exclude=local/ beteigeuze.math.rwth-aachen.de::gap4r4/ . See http://www.math.rwth-aachen.de:8001/GAP/GAPrsync for more details. receiving file list ... done rsync: read error: Connection timed out (110) rsync error: error in rsync protocol data stream (code 12) at io.c(614) [receiver=2.6.8] rsync: connection unexpectedly closed (224977 bytes received so far) [generator] rsync error: error in rsync protocol data stream (code 12) at io.c(463) [generator=2.6.8] Synchronization failed --- bye. Is there any problems? -- Best Regards Vdovin Evgenii Institute of Mathematics pr-t Acad. Koptyug, 4 630090, Novosibirsk, Russia Office +7 383 3331390 Home +7 383 2644892 Cellular +7 913 9475524 Fax +7 383 3332598 From dn2447 at yahoo.com Sun Nov 26 18:54:15 2006 From: dn2447 at yahoo.com (D N) Date: Sun Nov 26 18:54:45 2006 Subject: [GAP Forum] Third cohomology group Message-ID: <20061126185415.53875.qmail@web37402.mail.mud.yahoo.com> Dear GAP Forum, Let G be a finite group and let C denote the field of complex numbers. Let C* denote the abelian group of non-zero complex numbers. Consider C* as a trivial module over G. Are there any GAP programs that calculate the third cohomology group H^3(G, C*)? Best regards, D. Naidu --------------------------------- Access over 1 million songs - Yahoo! Music Unlimited. From A.Alecu at lboro.ac.uk Thu Nov 30 19:13:07 2006 From: A.Alecu at lboro.ac.uk (A.Alecu@lboro.ac.uk) Date: Thu Nov 30 19:13:30 2006 Subject: [GAP Forum] 'test' GAP Package Message-ID: <1164913987.456f2d43ad693@staff-webmail.lboro.ac.uk> Hello all, I am new to GAP so sorry if this is a stupid one. I am going through the 'Extending GAP' document and I am trying to create the 'test' package (see section 4.3) (see http://www.gap-system.org/Manuals/doc/htm/ext/CHAP004.htm#SECT003). I have followed the steps detailed there, but I am getting the following message when I try to LoadPackage("test"). Record : '.Dependencies' must have an assigned value at dep := inforec.Dependencies; called from TestPackageAvailability( name, version ) called from ( ) called from read-eval-loop Entering break read-eval-print loop ... I tried to take out the ~.Version from the Banner in order to remove the error but no joy. Please help. Alexandra ------ Alexandra Alecu Research Student Department of Computer Science/ Research School of Informatics FJ0.20 Holywell Park Loughborough University Loughborough, LE11 3TU England Telephone +44 (0)1509 635720 Internal extn 5720 Fax +44 (0)1509 635722 E-mail A.Alecu@lboro.ac.uk From thomas.breuer at math.rwth-aachen.de Fri Dec 1 11:22:45 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Fri Dec 1 11:23:13 2006 Subject: [GAP Forum] 'test' GAP Package In-Reply-To: <1164913987.456f2d43ad693@staff-webmail.lboro.ac.uk> References: <1164913987.456f2d43ad693@staff-webmail.lboro.ac.uk> Message-ID: <20061201112245.GA29749@math.rwth-aachen.de> Dear GAP Forum, Alexandra Alecu wrote > I am going through the 'Extending GAP' document and I am trying to create > the 'test' package (see section 4.3) (see > http://www.gap-system.org/Manuals/doc/htm/ext/CHAP004.htm#SECT003). > > I have followed the steps detailed there, but I am getting the following > message when I try to LoadPackage("test"). > > Record : '.Dependencies' must have an assigned value at > dep := inforec.Dependencies; > called from > TestPackageAvailability( name, version ) called from > ( ) called from read-eval-loop > Entering break read-eval-print loop ... Thanks for this report. Currently GAP erroneously assumes that the package information record contains a component `Dependencies', and the manual example is not aware of this assumption. For running the example with the current version of GAP, one can add one line to the proposed contents of the `PackageInfo.g' file for a test package, as follows. SetPackageInfo( rec( PackageName := "test", Version := "1.0", AvailabilityTest := ReturnTrue, Autoload := false, Dependencies := rec(), # This line was added! BannerString := Concatenation( [ "#I loading the GAP package ``test'' in version ", ~.Version, "\n" ] ), PackageDoc := rec( BookName := "test", SixFile := "doc/manual.six", Autoload := true ) ) ); With the next version of GAP, the `Dependencies' component will be regarded as optional, so the original manual example will work. Sorry for the inconveniences. Kind regards, Thomas Breuer From dn2447 at yahoo.com Sun Dec 3 05:06:13 2006 From: dn2447 at yahoo.com (D N) Date: Sun Dec 3 05:06:33 2006 Subject: [GAP Forum] Projective representations Message-ID: <857087.33234.qm@web37406.mail.mud.yahoo.com> Dear GAP Forum, Let us work over an algebraically closed field k of characteristic 0. Let H be a finite group and let f : H x H --> k* be a 2-cocycle. Here k* is the abelian group of non-zero elements of k considered as a trivial module over H. Let V be a projective representation of H with 2-cocycle f. Then the dual vector space V* is a projective representation of H with 2-cocycle 1/f. The tensor product V \otimes V* is a representation of H. Is it true that the decomposition of this representation (into irreducible representations of H) contains atleast one copy of the trivial representation of H? If this is not true, then is there a way to use GAP to generate counter-examples? Any help towards answering this question is greatly appreciated. Thanks, D. Naidu --------------------------------- Any questions? Get answers on any topic at Yahoo! Answers. Try it now. From laurent.bartholdi at gmail.com Sun Dec 3 15:30:40 2006 From: laurent.bartholdi at gmail.com (Laurent Bartholdi) Date: Sun Dec 3 15:30:56 2006 Subject: [GAP Forum] Projective representations In-Reply-To: <857087.33234.qm@web37406.mail.mud.yahoo.com> References: <857087.33234.qm@web37406.mail.mud.yahoo.com> Message-ID: <1ff637850612030730m7a411b4apfec52a5b1743c483@mail.gmail.com> A projective representation of H is really a linear representation of the central extension H~ of H by k^* with cocycle f; this involves lifting the representation H->GL(V) into a map H~->GL(V), and noticing that it becomes a homomorphism thanks to the choice of cocycle. Now V^* otimes V contains the trivial representation of H~, namely, identifying V^* otimes V with End(V), the submodule consisting of scalar matrices. This is not a well-defined representation of H; to see it as a representation of H, consider an element of H; lift it to H~; and let it act (trivially). As long as you chose the same lift for the projective representations of H on V and on V^*, you'll get a trivial representation of H. On 12/3/06, D N wrote: > Dear GAP Forum, > > Let us work over an algebraically closed field k of characteristic 0. > Let H be a finite group and let f : H x H --> k* be a 2-cocycle. > Here k* is the abelian group of non-zero elements of k considered as a > trivial module over H. > > Let V be a projective representation of H with 2-cocycle f. > Then the dual vector space V* is a projective representation of H > with 2-cocycle 1/f. > > The tensor product V \otimes V* is a representation of H. > Is it true that the decomposition of this representation (into > irreducible representations of H) contains atleast one copy of the > trivial representation of H? If this is not true, then is there a way to use GAP to > generate counter-examples? > > Any help towards answering this question is greatly appreciated. > > Thanks, > D. Naidu > > > --------------------------------- > Any questions? Get answers on any topic at Yahoo! Answers. Try it now. > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Laurent Bartholdi \ laurent.bartholdigmailcom EPFL SB SMA IMB MAD \ T?l?phone: +41 21-6935458 Station 8 \ Secr?taire: +41 21-6935501 CH-1015 Lausanne, Switzerland \ Fax: +41 21-6930339 From Mathieu.Dutour at ens.fr Wed Dec 6 10:14:27 2006 From: Mathieu.Dutour at ens.fr (Mathieu Dutour) Date: Wed Dec 6 10:14:43 2006 Subject: [GAP Forum] Crystallographic action Message-ID: <20061206101427.GA5421@orge.ens.fr> Dear all, I have yet again a question on group actions. This time with crystallographic actions. I have a crystallographic group G, i.e. G acts on R^3 by affine transformations (boring computer code is given at the end of the message). We have a finite index normal subgroup Z^3 of translations T of G. I want to consider the action of G/T on the torus (R/Z)^3. A representation of G/T can be obtained by taking the linear part of the affine transformations. I want to test if two elements of (R/Z)^3 are equivalent under G/T and to compute the stabilizer of an element. The problem is that the group G is infinite. If I take some generators up to translation of G then clearly I cannot define the morphism phi from G/T to G. But I need to define it somehow because I need matrices of G to act on R^3 followed by reduction mod 1. I see two solutions to the problem: 1> One solution is to force the image of the morphism to be computed even if it has no sense by using the free group trick. This makes the following: FuncAction_V1:=function(eClass, eGen) local nbGen, f, hom, hom2; nbGen:=Length(ListLinearMat); f:=FreeGroup(nbGen); hom:=GroupHomomorphismByImagesNC(f, GroupLinear, GeneratorsOfGroup(f), ListLinearMat); hom2:=GroupHomomorphismByImagesNC(f, GroupAffine, GeneratorsOfGroup(f), ListAffineMat); return VectorMod1(eClass*Image(hom2, PreImagesRepresentative(hom, eGen))); end; Stab:=Stabilizer(GroupLinear, eVect, FuncAction_V1); eElt:=RepresentativeAction(GroupLinear, eVect, fVect, FuncAction_V1); 2> The second possibility is to use gens, acts in the following syntax Stabilizer(Grp, pt, gens, acts, FuncAct) In our case this makes the following code: FuncAction_V2:=function(eClass, eGen) return VectorMod1(eClass*eGen); end; Stab:=Stabilizer(GroupLinear, eVect, ListLinearMat, ListAffineMat, FuncAction_V2); eElt:=RepresentativeAction(GroupLinear, eVect, fVect, ListLinearMat, ListAffineMat, FuncAction_V2); My questions are the following: --Is there a way to bypass the FreeGroup construction in the first method? --Is the second construction legal? In examples it works but I worry that I do not have a morphism from GroupLinear to GroupAffine and the reference manual is quite explicit about "homomorphism phi:G---> H" --What is the most efficient method? Thank you in advance for any help. Mathieu Mat1:=[ [-1 ,0 ,0 ,0], [0 ,-1,0 ,0], [0 ,0 ,1 ,0], [1/2,0 ,1/2,1]]; Mat2:=[ [0 ,1 ,0,0], [0 ,0 ,1,0], [1 ,0 ,0,0], [0 ,0 ,0,1]]; Mat3:=[ [0 ,1 ,0 ,0], [1 ,0 ,0 ,0], [0 ,0 ,-1 ,0], [3/4,1/4,1/4,1]]; Mat4:=[ [0 ,1 ,0,0], [-1 ,0 ,0,0], [0 ,0 ,1,0], [1/4,3/4 ,1/4,1]]; Mat5:=[ [0 ,0 ,1 ,0], [0 ,-1 ,0 ,0], [1 ,0 ,0 ,0], [1/4,1/4 ,3/4,1]]; ListAffineMat:=[Mat1, Mat2, Mat3, Mat4, Mat5]; ListLinearMat:=[]; for eMat in ListAffineMat do eMatRed:=List(eMat{[1..3]}, x->x{[1..3]}); Add(ListLinearMat, eMatRed); od; GroupAffine:=Group(ListAffineMat); GroupLinear:=Group(ListLinearMat); FractionMod1:=function(eFrac) local a, b; b:=NumeratorRat(eFrac); a:=DenominatorRat(eFrac); return (b mod a)/a; end; VectorMod1:=function(eVect) return Concatenation(List(eVect{[1..3]}, x->FractionMod1(x)), [1]); end; -- Mathieu Dutour Sikiric Researcher in Mathematics Telephone:.(+385)1 4571 237 and Computer Science Cell Phone: (+385)9 19 36 30 80 Laboratory of satellite oceanography E-mail: Mathieu.Dutour@ens.fr Rudjer Boskovic Institute http://www.liga.ens.fr/~dutour Zagreb Croatia skype name: mathieudutour From erfanian at wali.um.ac.ir Sun Dec 10 17:57:50 2006 From: erfanian at wali.um.ac.ir (erfanian) Date: Sun Dec 10 18:20:11 2006 Subject: [GAP Forum] looking for a group Message-ID: <1225.192.168.8.3.1165773470.squirrel@webmail.um.ac.ir> Dear All, I am looking for an example of a group $G$ with the property that $G/Z(G)$ is a p-elementary abelian of rank $k\geq 3$ and for every elements $x \in G\Z(G)$ we have $[G : C_G(x)}=p$. I will be more grateful for any comments. Best wishes, A. Erfanian. From aodabas at ogu.edu.tr Mon Dec 11 10:18:03 2006 From: aodabas at ogu.edu.tr (=?windows-1254?Q?Alper_Odaba=FE?=) Date: Mon Dec 11 10:17:01 2006 Subject: [GAP Forum] semi direct product of algebras Message-ID: <005601c71d0d$a4a18e60$a8838cc1@ogu229> Dear Forum Is there any method (function) in gap that allow semi direct product of algebras. A. Odabas From newman at maths.anu.edu.au Tue Dec 12 03:03:26 2006 From: newman at maths.anu.edu.au (Mike Newman) Date: Tue Dec 12 03:04:19 2006 Subject: [erfanian@wali.um.ac.ir: [GAP Forum] looking for a group] Message-ID: I have been asked to post my private response to the Forum. This has made no use at all of GAP. It would be interesting to know how someone who can't drag examples from thier personal archive might use GAP to find some. Mike Newman Message from erfanian ----- Dear All, I am looking for an example of a group $G$ with the property that $G/Z(G)$ is a p-elementary abelian of rank $k\geq 3$ and for every elements $x \in G\Z(G)$ we have $[G : C_G(x)}=p$. I will be more grateful for any comments. Response: The extra-special groups are examples. These are groups with class 2 whose centre and commutator subgroup coincide and have order p. The finite extra-special groups are central products of the non-abelian groups with order p^3. The central product of an extra-special group and an abelian group is also an example. These are the only finite examples. From degraaf at science.unitn.it Tue Dec 12 09:12:36 2006 From: degraaf at science.unitn.it (Willem de Graaf) Date: Tue Dec 12 08:58:06 2006 Subject: [GAP Forum] semi direct product of algebras In-Reply-To: <005601c71d0d$a4a18e60$a8838cc1@ogu229> References: <005601c71d0d$a4a18e60$a8838cc1@ogu229> Message-ID: <1165914756.29608.34.camel@dhcp047.science.unitn.it> Dear Dr. Odabas, You asked about semidirect products of algebras: > Is there any method (function) in gap that allow semi direct product of algebras. As far as I am aware, in the current version of GAP there is no function for constructing semidirect products of algebras. With the best wishes, Willem de Graaf From newman at maths.anu.edu.au Tue Dec 12 19:15:40 2006 From: newman at maths.anu.edu.au (Mike Newman) Date: Tue Dec 12 19:16:35 2006 Subject: [erfanian@wali.um.ac.ir: [GAP Forum] looking for a group] Message-ID: It has been pointed out to me that my recent response was flawed. There are more examples. All groups with prime-power order with derived subgroup of prime order are examples. For a complete determination of these groups see Blackburn, Simon R. Groups of prime power order with derived subgroup of prime order. J. Algebra 219 (1999), no. 2, 625--657 Mike Newman From justpasha at gmail.com Wed Dec 13 06:49:16 2006 From: justpasha at gmail.com (Pasha Zusmanovich) Date: Wed Dec 13 06:49:44 2006 Subject: [GAP Forum] semi direct product of algebras In-Reply-To: <005601c71d0d$a4a18e60$a8838cc1@ogu229> References: <005601c71d0d$a4a18e60$a8838cc1@ogu229> Message-ID: <457FA26C.9030903@gmail.com> Alper Odaba? wrote: > Dear Forum > Is there any method (function) in gap that allow semi direct product of algebras. > > A. Odabas Dear Alper Odaba?, Here is the code (actually, cosmetically modified one by Willem de Graaf) which supposed to construct semidirect product of Lie algebras: http://justpasha.org/unixcrap/gap/semidirect.gap . I used it almost two years ago when playing with GAP, so don't remember much details, but it worked for me then. Cheers, Pasha. From Rudolf.Zlabinger at chello.at Wed Dec 13 14:02:27 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Wed Dec 13 14:04:20 2006 Subject: [GAP Forum] Zappa-Szep product, knit product Message-ID: <000c01c71ebf$53096560$d5476d50@zlabinger> Is there any code known in GAP (I scanned the docs, but I couldn't find anything about), or any free code, implementing the Zappa-Szep product (Knit product) for groups? thank you, Rudolf Zlabinger From max.neunhoeffer at math.rwth-aachen.de Tue Dec 19 01:13:54 2006 From: max.neunhoeffer at math.rwth-aachen.de (Max Neunhoeffer) Date: Tue Dec 19 01:15:19 2006 Subject: [GAP Forum] The IO package Message-ID: <20061219011354.GA3405@math.rwth-aachen.de> Dear GAP-Forum! I am pleased to announce the release of version 2.0 of the IO package. The package is still under development but it is now in a usable state and I am pretty confident that the programming- and user-interface will no longer change very much. The package provides: - access to low-level input/output functionality in the C-library from the GAP language - an implementation of buffered I/O in GAP allowing blocking and non-blocking I/O to files, pipes, FIFOs, and sockets - I/O multiplexing on many I/O channels - control of child processes with the standard fork/exec method with convenience functions to create pipelines of processes - an extendable framework for object serialisation handling arbitrary self-referential objects built from lists and records - an implementation of the client side of the HTTP protocol in GAP that allows for example the retrieval of web pages from within GAP - on Linux access to unpredictable random numbers for cryptographic purposes The package runs under Linux/UNIX and M$-Windows. However, it contains a C-part and thus needs a C-compiler installed. The availability of some features is platform-dependent. IO can be downloaded from the GAP web page under http://www.gap-system.org/Packages/io.html I would like to hear about any problems with the package or its documentation, as well as about successful usage. December 2006, Max Neunhoeffer -- # # Max Neunhoeffer ##### Gerlachstrasse 20-22, 52064 Aachen, Germany (private) # # Lehrstuhl D fuer Mathematik, RWTH, Templergraben 64, 52062 Aachen ##### Tel.: +49 241 406605 (private) / +49 241 8094550 (institute) # # May the Source be with you! From wdjoyner at gmail.com Tue Dec 19 13:03:31 2006 From: wdjoyner at gmail.com (David Joyner) Date: Tue Dec 19 12:18:55 2006 Subject: [GAP Forum] isoclinism In-Reply-To: <6d9a83e90611150556r56f72a0rdfbe977b94878912@mail.gmail.com> References: <6d9a83e90611150556r56f72a0rdfbe977b94878912@mail.gmail.com> Message-ID: <4587E323.2020502@gmail.com> Sorry for the long delay (final exams, etc). As you probably guessed, the short answer appears to be that at the moment GAP does not have the command you want. I personally know nothing about isoclinism but Joachim Neubueser was kind enough to send me some information which I'll pass on to you: "In the case of the isoclinism question it should not be too difficult to provide at least a simple minded such function which first tests isomorphism of the centerfactorgroups and then checks if one of these induces an isomorphism of the commutator groups." To provide some background for those (such as myself) who aren't familiar with the term, Joachim provided the following information: "Let me just briefly brief you on isoclinism. The notion goes back to Philip Hall's famous 4 papers in Crelle 182 (1940). It is based on the simple observation that the value of a commutator [a,b] of two elements a and b of a group G really depends only on the cosets of a and b modulo the center Z(G) of G. Hence an isomorphism from G/Z(G) onto the Centerfactorgroup H/Z(H) of another group H induces a mapping of the commutatorgroup G' into the commutatorgroup H'. If this is also an isomorphism, then the pair of isomorphisms is called an isoclinism and G and H are called isoclinic if such a pair of isomorphisms exists. For instance the dihedral group of order 8 and the quaternion group are isoclinic, but isoclinic groups need not even be of the same order. Isoclinic groups of the same order form a 'branch' of the isoclinism family, those of minimal order the 'stem'. Hall used this idea for the classification of p-groups, and e.g. the catalogue of groups of order 2^n up to order 64 by Marshall Hall and Senior is based on this idea. Philip Hall had actually gone further and had obtained a list of isoclinism families with stem groups of order 128 - and I will never forget that he sent me, who then was just a very fresh and absolutely unknown assistent in Kiel a handcopy of this list, specially made for me, when I asked him if copies exist. When I threw all my correspondence away this Spring, I kept only this and gave it to Bettina, I think it is a wonderful document that Philip Hall was not only an excellent mathematician, but also a really great man. Of course the importance of the notion for p-group classification became fairly obsolete with the Leedham-Green/Newman idea of classification by p-uniserial space groups. However there are close links to representation theory to which Hall already points in his Crelle papers, but which was worked out with details and extensions in the Aachen Habilitationsschrift of my former student Juergen Tappe. This got published jointly with that of Rudolf Beyl in Heidelberg: Springer Lecture Notes 958 'Group Extensions, Representations and the Schur Multiplicator' (1982). If you want to have a closer look, I recommend to start with Hall's papers, they are gemstones. I hope that somebody can be found who will give the question a thought, there are some theoretical problems about which one should think before implementing: As far as I see an automorphism of the centerfactorgroup need not induce an automorphism of the commutatorgroup (although I have no counterexample at hand), so that just testing one isomorhism of G/Z(G) and H/Z(H) will not be enough, but one can perhaps work with cosets of the automorphism group of G/Z(G) modulo the subgroup of automorphisms induced by automorphisms of G. Or perhaps do even better?" +++++++++++++++++++++++++++++++++++++++++++++++++++++ Robert Heffernan wrote: > Hi, > > Is there a function in GAP to determine whether or not two groups are > isoclinic and, if so, to return an isoclinism (or even all > isoclinisms) between the two groups? > > A search of the documentation doesn't bring anything up. Perhaps > somebody has coded this up for their own purposes and would be willing > to share? > > thank you, > Bob > From colva at mcs.st-and.ac.uk Tue Dec 19 12:40:06 2006 From: colva at mcs.st-and.ac.uk (Colva Roney-Dougal) Date: Tue Dec 19 13:38:55 2006 Subject: [GAP Forum] International Symmetry Conference Message-ID: <0E2471ED-0519-4ADC-8224-1A14364C6791@mcs.st-and.ac.uk> CALL FOR PARTICIPATION International Symmetry Conference http://isc.dcs.st-and.ac.uk, registration is now available at: http://isc.cs.st-and.ac.uk/registration.php To be held in the Thistle Hotel, Edinburgh 14th - 17th of January, 2007 Conference Description This conference focuses on current symmetry research in the areas of Constraint Programming, Boolean Satisfiability, Group Theory, Model Checking, Planning, and any other combinatorial research area. The objective is to promote discussion and presentation of novel ideas relating to symmetry within the above areas, and to foster new collaboration opportunities between areas. This will be achieved by presentations of current work both in individual areas and of a collaborative nature. Conference Format This conference is open to all members of the combinatorial research communities. The conference will emphasize discussion and cross-fertilization, so presentations will be balanced with discussion time, tutorials and invited talks. In this direction, the conference is seeking high quality papers that address cutting-edge research in this field, and that can contribute to the discussion. The agenda will include: * A tutorial day at the start, to introduce each area and the role symmetry plays within it to a general audience. * An invited speaker from each area to talk about recent research on a topic of their choice: Boolean Satisfiability: Karem Sakallah, University of Michigan, USA Constraint Programming: Dave Cohen, Royal Holloway, University of London, UK and Peter Jeavons, University of Oxford, UK. Group Theory: Peter Cameron, Queen Mary, University of London, UK Model Checking: Dragan Bosnacki, Eidenhoven University of Technology, Netherlands Planning: Jacqueline Vauzeilles, University Paris 13, France * A competition which will allow different techniques to tackle one problem, chaired by Dr Tom Kelsey, University of St Andrews, UK. * A doctoral program, where the best abstract will be invited for presentation, and the rest of standard will be allocated a poster. There will also be a mentoring session where Doctoral students will be paired with a more senior researcher from a different area. Program Chairs Ian Gent, University of St Andrews Steve Linton, University of St Andrews Organizing Chair Karen Petrie, University of St Andrews Area Chairs Constraint Programming - Chris Jefferson, University of Oxford Boolean Satisfiability - Ines Lynce, Universidade Tecnica de Lisoa Group Theory - Colva Roney-Dougal, University of St Andrews Model Checking - Alastair Donaldson, University of Glasgow Planning - Maria Fox, University of Strathclyde Program Committee Anton Betten, Colorado State University, USA Dragan Bosnacki, Eidenhoven University of Technology, Netherlands Alastair Donaldson, University of Glasgow, UK Stefan Edelkamp, University of Dortmund, Germany E. Allen Emerson, University of Texas at Austin, USA Maria Fox, University of Strathclyde,UK Ian Gent, University of St Andrews, UK Christopher Jefferson, University of Oxford, UK Tom Kelsey, University of St Andrews, UK Zeynep Kiziltan, University of Bologna, Italy Steve Linton, University of St Andrews, UK Derek Long, University of Strathclyde, UK Ines Lynce, Universidade Tecnica de Lisboa, Portugal Igor Markov, University of Michigan, USA Pedro Meseguer, Consejo Superior de Investigaciones Cientificas, Spain Ian Miguel, University of St Andrews, UK Alice Miller, University of Glasgow, UK Max Neunhoffer, RWTH Aachen, Germany Karen Petrie, University of St Andrews, UK Steve Prestwich, University College Cork, Ireland Jean-Francois Puget, ILOG, France Martyn Quick, University of St Andrews, UK Jussi Rintanen, National ICT, Australia Colva Roney-Dougal, University of St. Andrews Amitabha Roy, Boston College, USA Ashish Sabharwal, Cornell University, USA Lakhdar Sais, Universite d'Artois, France Csaba Schneider, Hungarian Academy of Sciences, Hungary Meinolf Sellmann, Brown University, USA A. Prasad Sistia, University of Illinois at Chicago, USA Barbara Smith, 4C, University College Cork, Ireland Leonard Soicher, Queen Mary, University of London, UK From joachim.neubueser at math.rwth-aachen.de Wed Dec 20 12:17:37 2006 From: joachim.neubueser at math.rwth-aachen.de (Joachim Neubueser) Date: Wed Dec 20 12:17:58 2006 Subject: [GAP Forum] Crystallographic action In-Reply-To: <20061206101427.GA5421@orge.ens.fr> References: <20061206101427.GA5421@orge.ens.fr> Message-ID: <20061220121737.GB16142@math.rwth-aachen.de> Dear Mathieu, As far as we understand, you can achieve what you want in the following way: After reading your code below, do: gap> op := function(v,m) return VectorMod1(v*m); end;; This provides an "action" function for acting with elements of your affine group on vectors mod 1. Now you can do things like gap> v := VectorMod1([1/2,0,0]); [ 1/2, 0, 0, 1 ] gap> o := Orbit(GroupAffine,v,op); [ [ 1/2, 0, 0, 1 ], [ 0, 0, 1/2, 1 ], [ 0, 1/2, 0, 1 ], [ 3/4, 3/4, 1/4, 1 ], [ 1/4, 1/4, 1/4, 1 ], [ 3/4, 1/4, 3/4, 1 ], [ 1/4, 3/4, 3/4, 1 ], [ 1/2, 1/2, 1/2, 1 ] ] Since in your example G/T is small you can test for equivalence by just testing whether another vector is contained in the orbit. You can also use RepresentativeAction: gap> RepresentativeAction(GroupAffine,v,[1/4,3/4,3/4,1],op); [ [ 0, -1, 0, 0 ], [ 1, 0, 0, 0 ], [ 0, 0, 1, 0 ], [ 1/4, 5/4, 3/4, 1 ] ] gap> RepresentativeAction(GroupAffine,v,[0,0,0,1],op); fail You also can compute stabilizers: gap> s := Stabilizer(GroupAffine,v,op); This of course also enumerates the orbit internally. We hope we understood you right and this helps, Joachim Neubueser and Max Neunhoeffer On Wed, Dec 06, 2006 at 11:14:27AM +0100, Mathieu Dutour wrote: > Dear all, > > I have yet again a question on group actions. This time with > crystallographic actions. > > I have a crystallographic group G, i.e. G acts on R^3 by affine > transformations (boring computer code is given at the end of the > message). > > We have a finite index normal subgroup Z^3 of translations T of G. > I want to consider the action of G/T on the torus (R/Z)^3. > A representation of G/T can be obtained by taking the linear part > of the affine transformations. I want to test if two elements of > (R/Z)^3 are equivalent under G/T and to compute the stabilizer > of an element. > > The problem is that the group G is infinite. If I take some generators > up to translation of G then clearly I cannot define the morphism phi > from G/T to G. But I need to define it somehow because I need matrices > of G to act on R^3 followed by reduction mod 1. > > I see two solutions to the problem: > > 1> One solution is to force the image of the morphism to be computed even > if it has no sense by using the free group trick. > This makes the following: > > FuncAction_V1:=function(eClass, eGen) > local nbGen, f, hom, hom2; > nbGen:=Length(ListLinearMat); > f:=FreeGroup(nbGen); > hom:=GroupHomomorphismByImagesNC(f, GroupLinear, GeneratorsOfGroup(f), ListLinearMat); > hom2:=GroupHomomorphismByImagesNC(f, GroupAffine, GeneratorsOfGroup(f), ListAffineMat); > return VectorMod1(eClass*Image(hom2, PreImagesRepresentative(hom, eGen))); > end; > Stab:=Stabilizer(GroupLinear, eVect, FuncAction_V1); > eElt:=RepresentativeAction(GroupLinear, eVect, fVect, FuncAction_V1); > > 2> The second possibility is to use gens, acts in the following syntax > Stabilizer(Grp, pt, gens, acts, FuncAct) > > In our case this makes the following code: > FuncAction_V2:=function(eClass, eGen) > return VectorMod1(eClass*eGen); > end; > Stab:=Stabilizer(GroupLinear, eVect, ListLinearMat, ListAffineMat, FuncAction_V2); > eElt:=RepresentativeAction(GroupLinear, eVect, fVect, ListLinearMat, ListAffineMat, FuncAction_V2); > > My questions are the following: > --Is there a way to bypass the FreeGroup construction in the first method? > --Is the second construction legal? > In examples it works but I worry that I do not have a morphism from > GroupLinear to GroupAffine and the reference manual is quite explicit > about "homomorphism phi:G---> H" > --What is the most efficient method? > > Thank you in advance for any help. > > Mathieu > > > > Mat1:=[ > [-1 ,0 ,0 ,0], > [0 ,-1,0 ,0], > [0 ,0 ,1 ,0], > [1/2,0 ,1/2,1]]; > Mat2:=[ > [0 ,1 ,0,0], > [0 ,0 ,1,0], > [1 ,0 ,0,0], > [0 ,0 ,0,1]]; > Mat3:=[ > [0 ,1 ,0 ,0], > [1 ,0 ,0 ,0], > [0 ,0 ,-1 ,0], > [3/4,1/4,1/4,1]]; > Mat4:=[ > [0 ,1 ,0,0], > [-1 ,0 ,0,0], > [0 ,0 ,1,0], > [1/4,3/4 ,1/4,1]]; > Mat5:=[ > [0 ,0 ,1 ,0], > [0 ,-1 ,0 ,0], > [1 ,0 ,0 ,0], > [1/4,1/4 ,3/4,1]]; > > ListAffineMat:=[Mat1, Mat2, Mat3, Mat4, Mat5]; > ListLinearMat:=[]; > for eMat in ListAffineMat > do > eMatRed:=List(eMat{[1..3]}, x->x{[1..3]}); > Add(ListLinearMat, eMatRed); > od; > GroupAffine:=Group(ListAffineMat); > GroupLinear:=Group(ListLinearMat); > > FractionMod1:=function(eFrac) > local a, b; > b:=NumeratorRat(eFrac); > a:=DenominatorRat(eFrac); > return (b mod a)/a; > end; > > VectorMod1:=function(eVect) > return Concatenation(List(eVect{[1..3]}, x->FractionMod1(x)), [1]); > end; > > > > -- > Mathieu Dutour Sikiric Researcher in Mathematics > Telephone:.(+385)1 4571 237 and Computer Science > Cell Phone: (+385)9 19 36 30 80 Laboratory of satellite oceanography > E-mail: Mathieu.Dutour@ens.fr Rudjer Boskovic Institute > http://www.liga.ens.fr/~dutour Zagreb Croatia > skype name: mathieudutour > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From dn2447 at yahoo.com Thu Dec 21 06:18:08 2006 From: dn2447 at yahoo.com (D N) Date: Thu Dec 21 06:19:01 2006 Subject: [GAP Forum] Power set Message-ID: <221899.71418.qm@web37412.mail.mud.yahoo.com> Dear GAP forum, Let X be a finite set and let x be a fixed element of X. Is there any function in GAP that generates all subsets of X that contains x. Thanks, D. Naidu __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com From thomas.breuer at math.rwth-aachen.de Thu Dec 21 09:04:42 2006 From: thomas.breuer at math.rwth-aachen.de (Thomas Breuer) Date: Thu Dec 21 09:04:55 2006 Subject: [GAP Forum] Power set In-Reply-To: <221899.71418.qm@web37412.mail.mud.yahoo.com> References: <221899.71418.qm@web37412.mail.mud.yahoo.com> Message-ID: <20061221090442.GA5583@math.rwth-aachen.de> Dear GAP Forum, D. Naidu wrote > Let X be a finite set and let x be a fixed element of X. > Is there any function in GAP that generates all subsets of X that contains x. The function `Combinations' can be used to compute the power set of a (not too large) set, see the GAP Reference Manual. If one is interested only in those subsets of the given set X that contain a prescribed subset Y, say, then one can of course form the power set of the difference X \ Y, and then consider the unions of these sets with Y. Here is an example. gap> set:= [ 1, 2, 3, 4 ];; gap> elms:= [ 2 ];; gap> diff:= Difference( set, elms );; gap> Set( List( Combinations( diff ), x -> Union( x, elms ) ) ); [ [ 1, 2 ], [ 1, 2, 3 ], [ 1, 2, 3, 4 ], [ 1, 2, 4 ], [ 2 ], [ 2, 3 ], [ 2, 3, 4 ], [ 2, 4 ] ] (Of course one can do this more cleverly; for example, the entries in the list returned by `Combinations' are mutable, so one could use `UniteSet' instead of `Union', and the final call of `Set' could be replaced by a call of `Sort' for the list of unions. This way one would avoid creating a lot of intermediate objects.) All the best, Thomas From Michael.Hartley at nottingham.edu.my Thu Dec 21 09:28:13 2006 From: Michael.Hartley at nottingham.edu.my (MICHAEL HARTLEY) Date: Thu Dec 21 09:29:29 2006 Subject: [GAP Forum] Re: Forum Digest, Vol 37, Issue 2 (Auto-Reply from Michael Hartley) Message-ID: I am currently off campus until mid-January. I will attend to your email when I return. Thank you. Apologies for any inconvenience. From savchuk at math.tamu.edu Thu Dec 21 18:23:05 2006 From: savchuk at math.tamu.edu (Dmytro Savchuk) Date: Thu Dec 21 18:23:32 2006 Subject: [GAP Forum] AssocWordByLetterRep Message-ID: <19577937478.20061221122305@math.tamu.edu> Dear GAP forum, I have a question about the function AssocWordByLetterRep. Here is a code: gap> f:=FreeGroup(2); gap> w:=AssocWordByLetterRep(FamilyObj(f.1),[1,-1]); f1^0 gap> IsOne(w); false Should it be like that or it should return ? And if it works correctly, than is there an easy way to reduce f1^0 to ? (of course, we can reduce [1,-1] before applying AssocWordByLetterRep, but maybe there is something more natural?) Thank you, Dmytro Savchuk From butske at rose-hulman.edu Thu Dec 21 22:50:12 2006 From: butske at rose-hulman.edu (Butske, William D) Date: Thu Dec 21 22:50:30 2006 Subject: [GAP Forum] indecomposable representations Message-ID: I'm wondering if GAP has any facilities for computing indecomposable integral representations, in particular for finite cyclic groups. Thanks, Bill Butske From hulpke at mac.com Fri Dec 22 08:25:48 2006 From: hulpke at mac.com (Alexander Hulpke) Date: Fri Dec 22 08:26:24 2006 Subject: [GAP Forum] AssocWordByLetterRep In-Reply-To: <19577937478.20061221122305@math.tamu.edu> References: <19577937478.20061221122305@math.tamu.edu> Message-ID: <193DD51C-13EF-4731-ADDC-6EBDC88613F3@mac.com> Dear GAP Forum, On Dec 21, 2006, at 8:23 PM, Dmytro Savchuk wrote: > I have a question about the function AssocWordByLetterRep. Here is a > code: > > gap> f:=FreeGroup(2); > > > gap> w:=AssocWordByLetterRep(FamilyObj(f.1),[1,-1]); > f1^0 > > gap> IsOne(w); > false > > Should it be like that or it should return ? No. AssocWordByLetterRep simply creates a word with the internal representation given. It is the lowest level function to create words and does minimal checking of the argument to be fast. No cancellation takes place (so one could argue that it is an element in the monoid on X and X^-1). The user (or the code that creates words) must take care of this. I suppose you have code that creates free group elements as lists. Unless your interface is extremely time critical I would just use a small `for' loop to multiply together generators of f according to the values in the list, then the internal multiplication routine (written in the kernel) takes care of cancellation. If you feel there should be a rountine analogous to `AssocWordByLetterRep' which *does* cancellation please let me know and I'll look at it for future releases. All the best and Merry Christmas! Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From wdjoyner at gmail.com Thu Dec 28 14:41:14 2006 From: wdjoyner at gmail.com (David Joyner) Date: Thu Dec 28 13:54:37 2006 Subject: [GAP Forum] indecomposable representations In-Reply-To: References: Message-ID: <4593D78A.2090101@gmail.com> Butske, William D wrote: > I'm wondering if GAP has any facilities for computing indecomposable > integral representations, in particular for finite cyclic groups. > > Thanks, > Bill Butske > I think the answer is "not directly" but you can get useful information using the commands CharacterTable, Irr, RationalizedMat, and ContainedDecomposables. The chapter 69-71 of the reference manual describes these. - David Joyner > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > From Rudolf.Zlabinger at chello.at Thu Dec 28 17:19:52 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Thu Dec 28 17:21:56 2006 Subject: [GAP Forum] Zappa-Szep product, knit product References: <000c01c71ebf$53096560$d5476d50@zlabinger> <20061228125012.GA18131@math.rwth-aachen.de> Message-ID: <005c01c72aa4$638174a0$d5476d50@zlabinger> Dear Professor Neub?ser, thank you for your suggestion, I will follow now. The Zappa Szep product is said to be a generalization of the semidirect product in that sense, that both of the factors embedded images (if there are such images) in the product are not normal subgroups of the product. The internal form of the Zappa Szep product is simply the complexes product of two non normal subgroups with trivial intersection. I am interested mainly on the external form of. I found a short description of the Zappa Szep product in the following link: http://en.wikipedia.org/wiki/Zappa-Szep_product In the link there are also references to related textbooks. Thank you for your hint so far, kind regards, Rudolf Zlabinger ----- Original Message ----- From: "Joachim Neubueser" To: "Rudolf Zlabinger" Sent: Thursday, December 28, 2006 1:50 PM Subject: Re: [GAP Forum] Zappa-Szep product, knit product > Dear Dr. Zlabinger > > > On Wed, Dec 13, 2006 at 03:02:27PM +0100, you wrote to the GAP Forum: > >> Is there any code known in GAP (I scanned the docs, but I couldn't >> find anything about), or any free code, implementing the Zappa-Szep >> product (Knit product) for groups? > >> >> thank you, Rudolf Zlabinger > > As far as I see, there has been no answer in the Forum so far. One > reason may be that most of the Forum members (as is the case for > myself) do not know the notion of a Zappa-Szep product. While I am > rather sure that nothing of that name is in the GAP library, some > people may have suggestions how to write code for its construction, > once they understand the definition. May I suggest that you repeat > the question but with a brief description of the definition (and > perhaps what it 'is good for'). > > Kind regards Joachim Neubueser > > From burkhard at hoefling.name Fri Dec 29 14:54:43 2006 From: burkhard at hoefling.name (=?ISO-8859-1?Q?Burkhard_H=F6fling?=) Date: Fri Dec 29 14:55:11 2006 Subject: [GAP Forum] Zappa-Szep product, knit product In-Reply-To: <005c01c72aa4$638174a0$d5476d50@zlabinger> References: <000c01c71ebf$53096560$d5476d50@zlabinger> <20061228125012.GA18131@math.rwth-aachen.de> <005c01c72aa4$638174a0$d5476d50@zlabinger> Message-ID: <052DE1CD-108A-4B29-9537-A99E25F7F81E@hoefling.name> Dear Dr Zlabinger, > I found a short description of the Zappa Szep product in the > following link: > > http://en.wikipedia.org/wiki/Zappa-Szep_product > > In the link there are also references to related textbooks. thanks for sending the above explanation. However, I am still unsure what applications of the Zappa Szep product you have in mind. - Do you have concrete groups H and K, and explicit (GAP) functions h and k having the properties given in the definition of an external Zappa Szep product? This would be fairly easy to implement, but would only work reasonably efficiently for relatively small groups (the same problems arise for seimidirect products as well). If this is what you are interested in, what are the orders of H and K that you have in mind? - In principle, it would be sufficient to define functions h and k in terms of generators of H and K only. This would be possible as well, but efficiency would be generally worse than in the first case. In fact, you could use this to write down a presentation (even a rewriting system) for the product, given presentations (rewriting systems) of H and K. Note that in both cases, it would be nearly impossible to tell if h and k indeed satisfy the properties required by the definition of the Zappa Szep product. In particular, I don't think that it would be computationally feasible to list all possible Zappa Szep product of two given groups, except for ridiculously small examples. - Or you may actually be interested if a given group is the Zappa Szep product of two subgroups. In this case, one cannot, in my opinion, do much better than to compute the subgroup lattice and look at pairs of subgroups such that the product of their orders is the group order and which intersect trivially. Note that it is enough to look at conjugacy class representatives of subgroups - if G is the Zappa Szep product of H and K, then it is also the product of H^g1 and K^g2 for all g1, g2 in G. From Rudolf.Zlabinger at chello.at Fri Dec 29 17:13:27 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Dec 29 17:15:30 2006 Subject: [GAP Forum] Zappa-Szep product, knit product References: <000c01c71ebf$53096560$d5476d50@zlabinger> <20061228125012.GA18131@math.rwth-aachen.de> <005c01c72aa4$638174a0$d5476d50@zlabinger> <052DE1CD-108A-4B29-9537-A99E25F7F81E@hoefling.name> Message-ID: <001301c72b6c$a82492e0$d5476d50@zlabinger> Dear Dr. H?fling, thank you for your detailed answer. Originally I had no specific application in mind, my question was solely about the existence of code implementing the Zappa Szep product in general. In details: 1. Code that supports the finding of functions g and h, that satisfy the required properties of the definition. 2. Code to produce a representation of the product itself. So presently I have no concrete groups and functions in mind. I agree, that such methods would only support relatively small groups, comparable that for the semidirect products, if one awaits a satisfacting efficiency. I agree also, that it should be possible to define the functions in terms of the groups generators, as there are rules for the multiplication in the functions definitions, paid by loss of efficiency. I also agree, that it may not feasable to determine the functions fulfilling of the conditions of the definition by computational algorithms. There, indeed, is no theoretical problem to determine the internal factors of a Zappa -Szep product, the challenge is the external form of the product. Nevertheless thank you for your suggestions. To sum up your message: It may be not feasable to implement the first part of the Zappa-Szep product by computational methods: the finding of suitable functions g and h. The second part, the production of a presentation of the product should be possible, if the functions g and h are given. If the functions are given in terms of generators, it may be done with loss of efficiency. So I conclude for my original question: There is, presently, no code known to the forum supporting the whole or parts of the Zappa-Szep product. There are reasons for, as computablity of parts of this construct seems not sufficiently to be given in general. thank you again for answering me, kind regards, Rudolf Zlabinger ----- Original Message ----- From: "Burkhard H?fling" To: "Rudolf Zlabinger" Cc: "GAP Forum" Sent: Friday, December 29, 2006 3:54 PM Subject: Re: [GAP Forum] Zappa-Szep product, knit product > Dear Dr Zlabinger, > >> I found a short description of the Zappa Szep product in the following >> link: >> >> http://en.wikipedia.org/wiki/Zappa-Szep_product >> >> In the link there are also references to related textbooks. > > thanks for sending the above explanation. However, I am still unsure what > applications of the Zappa Szep product you have in mind. > > - Do you have concrete groups H and K, and explicit (GAP) functions h and > k having the properties given in the definition of an external Zappa Szep > product? This would be fairly easy to implement, but would only work > reasonably efficiently for relatively small groups (the same problems > arise for seimidirect products as well). If this is what you are > interested in, what are the orders of H and K that you have in mind? > > - In principle, it would be sufficient to define functions h and k in > terms of generators of H and K only. This would be possible as well, but > efficiency would be generally worse than in the first case. In fact, you > could use this to write down a presentation (even a rewriting system) for > the product, given presentations (rewriting systems) of H and K. > > Note that in both cases, it would be nearly impossible to tell if h and k > indeed satisfy the properties required by the definition of the Zappa > Szep product. > In particular, I don't think that it would be computationally feasible to > list all possible Zappa Szep product of two given groups, except for > ridiculously small examples. > > - Or you may actually be interested if a given group is the Zappa Szep > product of two subgroups. In this case, one cannot, in my opinion, do > much better than to compute the subgroup lattice and look at pairs of > subgroups such that the product of their orders is the group order and > which intersect trivially. Note that it is enough to look at conjugacy > class representatives of subgroups - if G is the Zappa Szep product of H > and K, then it is also the product of H^g1 and K^g2 for all g1, g2 in G. > > > > > From sjp at maths.gla.ac.uk Fri Dec 29 20:47:50 2006 From: sjp at maths.gla.ac.uk (sjp@maths.gla.ac.uk) Date: Fri Dec 29 20:48:10 2006 Subject: Fwd: Re: [GAP Forum] Zappa-Szep product, knit product Message-ID: <1167425270.45957ef699bd3@mail.maths.gla.ac.uk> Hi, The following situation has been looked at, and is quite reasonable to work with: If A is generated by X, and B generated by Y, then the action of X sends Y to Y, and the action of Y on X sends X to X^*. It is then fairly easy to write down the conditions for the actions do give rise to a Z-S product. See: M. G Brin, On the Zappa-Szep product, Commun in Algebra, 33 (2005), 393-424 See also: T. G. Lavers, Presentation of general products of monoids, J Algebra, 204 (1998), 733-741 Steve Pride ----- Forwarded message from Rudolf Zlabinger ----- Date: Fri, 29 Dec 2006 18:13:27 +0100 From: Rudolf Zlabinger Reply-To: Rudolf Zlabinger Subject: Re: [GAP Forum] Zappa-Szep product, knit product To: GAP Forum , Burkhard H?fling Dear Dr. H?fling, thank you for your detailed answer. Originally I had no specific application in mind, my question was solely about the existence of code implementing the Zappa Szep product in general. In details: 1. Code that supports the finding of functions g and h, that satisfy the required properties of the definition. 2. Code to produce a representation of the product itself. So presently I have no concrete groups and functions in mind. I agree, that such methods would only support relatively small groups, comparable that for the semidirect products, if one awaits a satisfacting efficiency. I agree also, that it should be possible to define the functions in terms of the groups generators, as there are rules for the multiplication in the functions definitions, paid by loss of efficiency. I also agree, that it may not feasable to determine the functions fulfilling of the conditions of the definition by computational algorithms. There, indeed, is no theoretical problem to determine the internal factors of a Zappa -Szep product, the challenge is the external form of the product. Nevertheless thank you for your suggestions. To sum up your message: It may be not feasable to implement the first part of the Zappa-Szep product by computational methods: the finding of suitable functions g and h. The second part, the production of a presentation of the product should be possible, if the functions g and h are given. If the functions are given in terms of generators, it may be done with loss of efficiency. So I conclude for my original question: There is, presently, no code known to the forum supporting the whole or parts of the Zappa-Szep product. There are reasons for, as computablity of parts of this construct seems not sufficiently to be given in general. thank you again for answering me, kind regards, Rudolf Zlabinger ----- Original Message ----- From: "Burkhard H?fling" To: "Rudolf Zlabinger" Cc: "GAP Forum" Sent: Friday, December 29, 2006 3:54 PM Subject: Re: [GAP Forum] Zappa-Szep product, knit product > Dear Dr Zlabinger, > >> I found a short description of the Zappa Szep product in the following >> link: >> >> http://en.wikipedia.org/wiki/Zappa-Szep_product >> >> In the link there are also references to related textbooks. > > thanks for sending the above explanation. However, I am still unsure what > applications of the Zappa Szep product you have in mind. > > - Do you have concrete groups H and K, and explicit (GAP) functions h and > k having the properties given in the definition of an external Zappa Szep > product? This would be fairly easy to implement, but would only work > reasonably efficiently for relatively small groups (the same problems > arise for seimidirect products as well). If this is what you are > interested in, what are the orders of H and K that you have in mind? > > - In principle, it would be sufficient to define functions h and k in > terms of generators of H and K only. This would be possible as well, but > efficiency would be generally worse than in the first case. In fact, you > could use this to write down a presentation (even a rewriting system) for > the product, given presentations (rewriting systems) of H and K. > > Note that in both cases, it would be nearly impossible to tell if h and k > indeed satisfy the properties required by the definition of the Zappa > Szep product. > In particular, I don't think that it would be computationally feasible to > list all possible Zappa Szep product of two given groups, except for > ridiculously small examples. > > - Or you may actually be interested if a given group is the Zappa Szep > product of two subgroups. In this case, one cannot, in my opinion, do > much better than to compute the subgroup lattice and look at pairs of > subgroups such that the product of their orders is the group order and > which intersect trivially. Note that it is enough to look at conjugacy > class representatives of subgroups - if G is the Zappa Szep product of H > and K, then it is also the product of H^g1 and K^g2 for all g1, g2 in G. > > > > > _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum ----- End forwarded message ----- ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. From Rudolf.Zlabinger at chello.at Fri Dec 29 23:13:36 2006 From: Rudolf.Zlabinger at chello.at (Rudolf Zlabinger) Date: Fri Dec 29 23:15:37 2006 Subject: [GAP Forum] Zappa-Szep product, knit product References: <1167425270.45957ef699bd3@mail.maths.gla.ac.uk> Message-ID: <001401c72b9e$f9bfeb40$d5476d50@zlabinger> Dear Dr. Pride, thank you for your example. There are certainly many more situations giving rise to Z - S products. It is clear, for example, that all semidirect products and even the direct products are special cases of Z-S products. Among others in this ongoing discussion it is to show, that Z-S products really make sense in concrete cases, to evaluate for a possible even partial implementation in GAP. So your example, I will evaluate later on after reading the referenced texts, is welcome indeed. thank you for your answer, kind regards, Rudolf Zlabinger ----- Original Message ----- From: To: "GAP Forum" ; "Burkhard H?fling" ; "Rudolf Zlabinger" Sent: Friday, December 29, 2006 9:47 PM Subject: Fwd: Re: [GAP Forum] Zappa-Szep product, knit product > Hi, The following situation has been looked at, and is quite reasonable to > work > with: > > If A is generated by X, and B generated by Y, then the action of X sends Y > to > Y, and the action of Y on X sends X to X^*. It is then fairly easy to > write > down the conditions for the actions do give rise to a Z-S product. See: > > M. G Brin, On the Zappa-Szep product, Commun in Algebra, 33 (2005), > 393-424 > > See also: > T. G. Lavers, Presentation of general products of monoids, J Algebra, 204 > (1998), 733-741 > > Steve Pride > > > > ----- Forwarded message from Rudolf Zlabinger > ----- > Date: Fri, 29 Dec 2006 18:13:27 +0100 > From: Rudolf Zlabinger > Reply-To: Rudolf Zlabinger > Subject: Re: [GAP Forum] Zappa-Szep product, knit product > To: GAP Forum , Burkhard H?fling > > > Dear Dr. H?fling, > > thank you for your detailed answer. > > Originally I had no specific application in mind, my question was solely > about the existence of code implementing the Zappa Szep product in > general. > In details: > 1. Code that supports the finding of functions g and h, that satisfy the > required properties of the definition. 2. Code to produce a representation > of the product itself. > > So presently I have no concrete groups and functions in mind. I agree, > that > such methods would only support relatively small groups, comparable that > for > the semidirect products, if one awaits a satisfacting efficiency. > > I agree also, that it should be possible to define the functions in terms > of > the groups generators, as there are rules for the multiplication in the > functions definitions, paid by loss of efficiency. > > I also agree, that it may not feasable to determine the functions > fulfilling > of the conditions of the definition by computational algorithms. > > There, indeed, is no theoretical problem to determine the internal factors > of a Zappa -Szep product, the challenge is the external form of the > product. > Nevertheless thank you for your suggestions. > > To sum up your message: > > It may be not feasable to implement the first part of the Zappa-Szep > product > by computational methods: the finding of suitable functions g and h. The > second part, the production of a presentation of the product should be > possible, if the functions g and h are given. If the functions are given > in > terms of generators, it may be done with loss of efficiency. > > So I conclude for my original question: There is, presently, no code known > to the forum supporting the whole or parts of the Zappa-Szep product. > There > are reasons for, as computablity of parts of this construct seems not > sufficiently to be given in general. > > thank you again for answering me, kind regards, Rudolf Zlabinger > > > ----- Original Message ----- > From: "Burkhard H?fling" > To: "Rudolf Zlabinger" > Cc: "GAP Forum" > Sent: Friday, December 29, 2006 3:54 PM > Subject: Re: [GAP Forum] Zappa-Szep product, knit product > > >> Dear Dr Zlabinger, >> >>> I found a short description of the Zappa Szep product in the following >>> link: >>> >>> http://en.wikipedia.org/wiki/Zappa-Szep_product >>> >>> In the link there are also references to related textbooks. >> >> thanks for sending the above explanation. However, I am still unsure >> what >> applications of the Zappa Szep product you have in mind. >> >> - Do you have concrete groups H and K, and explicit (GAP) functions h >> and >> k having the properties given in the definition of an external Zappa >> Szep >> product? This would be fairly easy to implement, but would only work >> reasonably efficiently for relatively small groups (the same problems >> arise for seimidirect products as well). If this is what you are >> interested in, what are the orders of H and K that you have in mind? >> >> - In principle, it would be sufficient to define functions h and k in >> terms of generators of H and K only. This would be possible as well, but >> efficiency would be generally worse than in the first case. In fact, you >> could use this to write down a presentation (even a rewriting system) >> for >> the product, given presentations (rewriting systems) of H and K. >> >> Note that in both cases, it would be nearly impossible to tell if h and >> k >> indeed satisfy the properties required by the definition of the Zappa >> Szep product. >> In particular, I don't think that it would be computationally feasible >> to >> list all possible Zappa Szep product of two given groups, except for >> ridiculously small examples. >> >> - Or you may actually be interested if a given group is the Zappa Szep >> product of two subgroups. In this case, one cannot, in my opinion, do >> much better than to compute the subgroup lattice and look at pairs of >> subgroups such that the product of their orders is the group order and >> which intersect trivially. Note that it is enough to look at conjugacy >> class representatives of subgroups - if G is the Zappa Szep product of H >> and K, then it is also the product of H^g1 and K^g2 for all g1, g2 in G. >> >> >> >> >> > > > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > ----- End forwarded message ----- > > > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > From scanders at oakland.edu Sat Dec 30 04:54:06 2006 From: scanders at oakland.edu (Scott Anderson) Date: Sat Dec 30 04:54:35 2006 Subject: [GAP Forum] Computing automorphism groups of codes over \F_9 Message-ID: <20061229235406.AIT10150@melange.sys.oakland.edu> Hello to all, I am constructing codes over \F_9 and would like to compute the automorphism groups of these codes. (I have the Guava package installed so as to be able to deal with codes in general.) I seem to be running beyond some physical limitation of Gap, at least on my (sigh) Windows PC. Is there some way to compute automorphism groups for such codes in a way that splits up the work (or something) so my computer doesn't gag on it? Or would it be helpful to ask the larger Unix computer at the University to do this work? Any advice is appreciated. Cheers, Scott Anderson From wdjoyner at gmail.com Sat Dec 30 14:07:08 2006 From: wdjoyner at gmail.com (David Joyner) Date: Sat Dec 30 13:20:00 2006 Subject: [GAP Forum] Computing automorphism groups of codes over \F_9 In-Reply-To: <20061229235406.AIT10150@melange.sys.oakland.edu> References: <20061229235406.AIT10150@melange.sys.oakland.edu> Message-ID: <4596728C.4090406@gmail.com> Scott Anderson wrote: > Hello to all, > > I am constructing codes over \F_9 and would like to > compute the automorphism groups of these codes. (I > have the Guava package installed so as to be able to > deal with codes in general.) I seem to be running > beyond some physical limitation of Gap, at least on > my (sigh) Windows PC. > I'm not sure what you mean by "physical limitations". If you have already tried using the -o option described in http://www.gap-system.org/Manuals/doc/htm/ref/CHAP003.htm#SECT001 then probably there is not much you can do with whatever RAM you have. > Is there some way to compute automorphism groups for > such codes in a way that splits up the work (or > something) so my computer doesn't gag on it? Or > would it be helpful to ask the larger Unix computer > at the University to do this work? > I don't know of a way to split up the work. The GAP code calling the C code due to Leon is only implemented for binary codes. That C code GAP calls should work for non-binary codes as well but is not implemented in the non-binary case. (I tried to do this once and never could get it to work properly.) Honestly, Leon's code needs to be rewritten from scratch, but short of this you could try to get GAP to call the C code in the non-binary case. You would need to read Leon's documentation (which is very sketchy), included with GUAVA in the src/leon/doc subdirectory. > Any advice is appreciated. > You can get an upper bound on the group by using Thomas Breuer's MatrixAutomorphisms http://www.gap-system.org/Manuals/doc/htm/ref/CHAP069.htm#SECT020 Just put all the codewords of a given weight into a matrix (each row is a codeword of weight 10 say) and apply the function. Generally, the automorphism group computing ability of GUAVA is poor. There are even known bugs in it http://cadigweb.ew.usna.edu/%7Ewdj/gap/GUAVA/guava2do.html > Cheers, > Scott Anderson > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > >