From alexander.konovalov at st-andrews.ac.uk Thu Jan 12 20:49:57 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 12 Jan 2017 20:49:57 +0000 Subject: [GAP Forum] This is a test Message-ID: <7134EA8A-9A30-42AE-AF5D-BE69F83036C2@st-andrews.ac.uk> Please ignore this email - it's a test From phjelmstad at msn.com Tue Jan 10 21:00:49 2017 From: phjelmstad at msn.com (PAUL HJELMSTAD) Date: Tue, 10 Jan 2017 21:00:49 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 Message-ID: Simply, is there a way to ask GAP to list all 5040 Steiner systems of the Mathieu Group M12? That is S12/[M12] Systems of hexads Get Outlook for Android From dmitrii.pasechnik at cs.ox.ac.uk Fri Jan 13 21:35:14 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Fri, 13 Jan 2017 21:35:14 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: References: Message-ID: <20170113213514.GC29162@hilbert> Dear Forum, On Tue, Jan 10, 2017 at 09:00:49PM +0000, PAUL HJELMSTAD wrote: > Simply, is there a way to ask GAP to list all 5040 Steiner systems of the Mathieu Group M12? yes, it is easy. Get the hexads of one S(5,6,12), consider them as a "set of sets" and compute the orbit of S_12 on them using OnSetsSets action. In more detail: gap> m12:=MathieuGroup(12); gap> he:=Set(Orbit(m12,[1,2,3,4,5,7],OnSets)); gap> OrbitLength(SymmetricGroup(12),he,OnSetsSets); 5040 HTH, Dmitrii > > That is S12/[M12] Systems of hexads > > > Get Outlook for Android > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From phjelmstad at msn.com Fri Jan 13 22:16:57 2017 From: phjelmstad at msn.com (PAUL HJELMSTAD) Date: Fri, 13 Jan 2017 22:16:57 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: <20170113213514.GC29162@hilbert> References: , <20170113213514.GC29162@hilbert> Message-ID: Thanks Paul Hjelmstad Get Outlook for Android ________________________________ From: dmitrii.pasechnik at cs.ox.ac.uk Sent: Friday, January 13, 2017 3:35:14 PM To: PAUL HJELMSTAD Cc: forum at mail.gap-system.org Subject: Re: [GAP Forum] Steiner systems of Mathieu Group M12 Dear Forum, On Tue, Jan 10, 2017 at 09:00:49PM +0000, PAUL HJELMSTAD wrote: > Simply, is there a way to ask GAP to list all 5040 Steiner systems of the Mathieu Group M12? yes, it is easy. Get the hexads of one S(5,6,12), consider them as a "set of sets" and compute the orbit of S_12 on them using OnSetsSets action. In more detail: gap> m12:=MathieuGroup(12); gap> he:=Set(Orbit(m12,[1,2,3,4,5,7],OnSets)); gap> OrbitLength(SymmetricGroup(12),he,OnSetsSets); 5040 HTH, Dmitrii > > That is S12/[M12] Systems of hexads > > > Get Outlook for Android > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From phjelmstad at msn.com Fri Jan 13 23:49:05 2017 From: phjelmstad at msn.com (PAUL HJELMSTAD) Date: Fri, 13 Jan 2017 23:49:05 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: <20170113213514.GC29162@hilbert> References: , <20170113213514.GC29162@hilbert> Message-ID: Looks like I don't have enough memory --- I can do everything except the last step --- with more memory will (can) this send the sets to some sort of file? Get Outlook for Android ________________________________ From: dmitrii.pasechnik at cs.ox.ac.uk Sent: Friday, January 13, 2017 3:35:14 PM To: PAUL HJELMSTAD Cc: forum at mail.gap-system.org Subject: Re: [GAP Forum] Steiner systems of Mathieu Group M12 Dear Forum, On Tue, Jan 10, 2017 at 09:00:49PM +0000, PAUL HJELMSTAD wrote: > Simply, is there a way to ask GAP to list all 5040 Steiner systems of the Mathieu Group M12? yes, it is easy. Get the hexads of one S(5,6,12), consider them as a "set of sets" and compute the orbit of S_12 on them using OnSetsSets action. In more detail: gap> m12:=MathieuGroup(12); gap> he:=Set(Orbit(m12,[1,2,3,4,5,7],OnSets)); gap> OrbitLength(SymmetricGroup(12),he,OnSetsSets); 5040 HTH, Dmitrii > > That is S12/[M12] Systems of hexads > > > Get Outlook for Android > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From bmenrigh at brandonenright.net Sat Jan 14 00:20:39 2017 From: bmenrigh at brandonenright.net (Brandon Enright) Date: Sat, 14 Jan 2017 00:20:39 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: References: <20170113213514.GC29162@hilbert> Message-ID: <20170114002039.54add2cf@lambda> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, 13 Jan 2017 23:49:05 +0000 PAUL HJELMSTAD wrote: > Looks like I don't have enough memory --- I can do everything except > the last step I tested GAP on my system with: GAP 4.8.6, 12-Nov-2016, build of 2016-12-21 01:57:40 (UTC) Architecture: x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-gcc-default64) By limiting memory with -K I was able to do the full calculation in 647 milliseconds with only 160 megabytes of memory. I tested with 128 megabytes and GAP hit the memory limit. Presumably 64 bit GAP uses more memory than 32bit GAP (because of pointer size differences). If you're using a 32bit build it wouldn't surprise me if you could do the calculation in only 128M for the workspace. In any case, this calculation is tiny. Just give GAP more memory. Brandon -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAlh5btcACgkQqaGPzAsl94JV7ACghqc0rxwvgsMv9u8seWulMRzx 7SkAn3YG/aE3Gy3wivNBcmmx1BTaV2sM =i5uH -----END PGP SIGNATURE----- From phjelmstad at msn.com Sat Jan 14 02:25:28 2017 From: phjelmstad at msn.com (PAUL HJELMSTAD) Date: Sat, 14 Jan 2017 02:25:28 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: <20170114002039.54add2cf@lambda> References: <20170113213514.GC29162@hilbert> , <20170114002039.54add2cf@lambda> Message-ID: I have a Macintosh and it's not doing the command line options properly but I'm working with M 11 now and that one does go through --- however it only lists the total which is 2520 ---i need it to actually list all the sets of sets...Or something Get Outlook for Android ________________________________ From: Brandon Enright Sent: Friday, January 13, 2017 6:20:39 PM To: PAUL HJELMSTAD Cc: Dmitrii Pasechnik; forum at mail.gap-system.org; bmenrigh at brandonenright.net Subject: Re: [GAP Forum] Steiner systems of Mathieu Group M12 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Fri, 13 Jan 2017 23:49:05 +0000 PAUL HJELMSTAD wrote: > Looks like I don't have enough memory --- I can do everything except > the last step I tested GAP on my system with: GAP 4.8.6, 12-Nov-2016, build of 2016-12-21 01:57:40 (UTC) Architecture: x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-gcc-default64) By limiting memory with -K I was able to do the full calculation in 647 milliseconds with only 160 megabytes of memory. I tested with 128 megabytes and GAP hit the memory limit. Presumably 64 bit GAP uses more memory than 32bit GAP (because of pointer size differences). If you're using a 32bit build it wouldn't surprise me if you could do the calculation in only 128M for the workspace. In any case, this calculation is tiny. Just give GAP more memory. Brandon -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAlh5btcACgkQqaGPzAsl94JV7ACghqc0rxwvgsMv9u8seWulMRzx 7SkAn3YG/aE3Gy3wivNBcmmx1BTaV2sM =i5uH -----END PGP SIGNATURE----- From phjelmstad at msn.com Sat Jan 14 03:33:13 2017 From: phjelmstad at msn.com (PAUL HJELMSTAD) Date: Sat, 14 Jan 2017 03:33:13 +0000 Subject: [GAP Forum] Steiner systems of Mathieu Group M12 In-Reply-To: References: , <20170113213514.GC29162@hilbert>, Message-ID: Nevermind I got it and then some it's running the sets right now Get Outlook for Android ________________________________ From: PAUL HJELMSTAD Sent: Friday, January 13, 2017 4:16:57 PM To: Dmitrii Pasechnik Cc: forum at mail.gap-system.org Subject: Re: [GAP Forum] Steiner systems of Mathieu Group M12 Thanks Paul Hjelmstad Get Outlook for Android ________________________________ From: dmitrii.pasechnik at cs.ox.ac.uk Sent: Friday, January 13, 2017 3:35:14 PM To: PAUL HJELMSTAD Cc: forum at mail.gap-system.org Subject: Re: [GAP Forum] Steiner systems of Mathieu Group M12 Dear Forum, On Tue, Jan 10, 2017 at 09:00:49PM +0000, PAUL HJELMSTAD wrote: > Simply, is there a way to ask GAP to list all 5040 Steiner systems of the Mathieu Group M12? yes, it is easy. Get the hexads of one S(5,6,12), consider them as a "set of sets" and compute the orbit of S_12 on them using OnSetsSets action. In more detail: gap> m12:=MathieuGroup(12); gap> he:=Set(Orbit(m12,[1,2,3,4,5,7],OnSets)); gap> OrbitLength(SymmetricGroup(12),he,OnSetsSets); 5040 HTH, Dmitrii > > That is S12/[M12] Systems of hexads > > > Get Outlook for Android > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From max at quendi.de Sat Jan 14 20:10:50 2017 From: max at quendi.de (Max Horn) Date: Sat, 14 Jan 2017 21:10:50 +0100 Subject: [GAP Forum] GAP package: braid In-Reply-To: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> References: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> Message-ID: Dear Jerome, for some reason I only received your email yesterday -- presumably it was stuck in mailing list moderation? Anyway, better a late answer than non at all :-). > On 07 Dec 2016, at 16:57, Jerome BENOIT wrote: > > Hello Forum, > > I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', > which is not present in the GAP webpage. I guess it is an old GAP package. > Can anybody confirm this ? Does anybody knows whether or not this GAP pachage > has been replaced/supersedeed ? To the best of my knowledge, GAP never bundled a "braid" package. There is an undeposited "package" with that name, see , but (a) that never was shipped together with GAP, and (b) as far as I can tell, it is just a bunch of GAP source files, not an actual GAP package (i.e. no PackageInfo.g, init.g, read.g etc.). Well, that said, there is also a broken link which purports to contain a "proper" package, but it points to a location on www.opensourcemath.org, and that domain expired and was taken over by a domain grabber placing ads on it. Anyway, if you want to find out why Sage tries to load that package, perhaps ask them? And/or query their version control system to see when (and by whom) the code to load the package was added. Cheers, Max From alexander.konovalov at st-andrews.ac.uk Sat Jan 14 20:19:58 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sat, 14 Jan 2017 20:19:58 +0000 Subject: [GAP Forum] GAP package: braid In-Reply-To: References: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> Message-ID: <7EA6F32A-713D-43D0-B231-032EE3501EFF@st-andrews.ac.uk> > On 14 Jan 2017, at 20:10, Max Horn wrote: > > Dear Jerome, > > for some reason I only received your email yesterday -- presumably it was stuck in mailing list moderation? Anyway, better a late answer than non at all :-). Yes - I've looked at moderating requests yesterday and discovered it there. > >> On 07 Dec 2016, at 16:57, Jerome BENOIT wrote: >> >> Hello Forum, >> >> I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', >> which is not present in the GAP webpage. I guess it is an old GAP package. >> Can anybody confirm this ? Does anybody knows whether or not this GAP pachage >> has been replaced/supersedeed ? > > To the best of my knowledge, GAP never bundled a "braid" package. There is an undeposited "package" with that name, see , but (a) that never was shipped together with GAP, Yes, that's true. In addition, the MapClass package (https://www.gap-system.org/Packages/mapclass.html) redistributed with GAP says that it is "an extension of the Braid package for GAP" but it does not require Braid to work. > and (b) as far as I can tell, it is just a bunch of GAP source files, not an actual GAP package (i.e. no PackageInfo.g, init.g, read.g etc.). Well, that said, there is also a broken link which purports to contain a "proper" package, but it points to a location on www.opensourcemath.org, and that domain expired and was taken over by a domain grabber placing ads on it. > > Anyway, if you want to find out why Sage tries to load that package, perhaps ask them? And/or query their version control system to see when (and by whom) the code to load the package was added. Perhaps authors of Braid and MapClass, if they read the Forum, could give more light too. HTH Alexander From s.shpectorov at bham.ac.uk Sat Jan 14 21:48:42 2017 From: s.shpectorov at bham.ac.uk (Sergey Shpectorov) Date: Sat, 14 Jan 2017 21:48:42 +0000 Subject: [GAP Forum] GAP package: braid In-Reply-To: <7EA6F32A-713D-43D0-B231-032EE3501EFF@st-andrews.ac.uk> References: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> , <7EA6F32A-713D-43D0-B231-032EE3501EFF@st-andrews.ac.uk> Message-ID: <63278B7E72610F4C87EE13DA0E155D9601DF7EF897@EX11.adf.bham.ac.uk> I am one of the authors of braid and mapclass, but I cannot answer why sage tries to load braid. In 2012 there was some talk about porting braid to sage and I believe that perhaps David Joyner wanted it ported. At least his name was mentioned in the correspondence. Dima Pasechnik also played some role. Dima, do you remember anything? Sergey ________________________________________ From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Alexander Konovalov [alexander.konovalov at st-andrews.ac.uk] Sent: Saturday, January 14, 2017 8:19 PM To: Max Horn Cc: z060822400814a at rezozer.net; GAP Forum Subject: Re: [GAP Forum] GAP package: braid > On 14 Jan 2017, at 20:10, Max Horn wrote: > > Dear Jerome, > > for some reason I only received your email yesterday -- presumably it was stuck in mailing list moderation? Anyway, better a late answer than non at all :-). Yes - I've looked at moderating requests yesterday and discovered it there. > >> On 07 Dec 2016, at 16:57, Jerome BENOIT wrote: >> >> Hello Forum, >> >> I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', >> which is not present in the GAP webpage. I guess it is an old GAP package. >> Can anybody confirm this ? Does anybody knows whether or not this GAP pachage >> has been replaced/supersedeed ? > > To the best of my knowledge, GAP never bundled a "braid" package. There is an undeposited "package" with that name, see , but (a) that never was shipped together with GAP, Yes, that's true. In addition, the MapClass package (https://www.gap-system.org/Packages/mapclass.html) redistributed with GAP says that it is "an extension of the Braid package for GAP" but it does not require Braid to work. > and (b) as far as I can tell, it is just a bunch of GAP source files, not an actual GAP package (i.e. no PackageInfo.g, init.g, read.g etc.). Well, that said, there is also a broken link which purports to contain a "proper" package, but it points to a location on www.opensourcemath.org, and that domain expired and was taken over by a domain grabber placing ads on it. > > Anyway, if you want to find out why Sage tries to load that package, perhaps ask them? And/or query their version control system to see when (and by whom) the code to load the package was added. Perhaps authors of Braid and MapClass, if they read the Forum, could give more light too. HTH Alexander _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From wdjoyner at gmail.com Sat Jan 14 22:04:49 2017 From: wdjoyner at gmail.com (David Joyner) Date: Sat, 14 Jan 2017 17:04:49 -0500 Subject: [GAP Forum] GAP package: braid In-Reply-To: <63278B7E72610F4C87EE13DA0E155D9601DF7EF897@EX11.adf.bham.ac.uk> References: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> <7EA6F32A-713D-43D0-B231-032EE3501EFF@st-andrews.ac.uk> <63278B7E72610F4C87EE13DA0E155D9601DF7EF897@EX11.adf.bham.ac.uk> Message-ID: On Sat, Jan 14, 2017 at 4:48 PM, Sergey Shpectorov wrote: > I am one of the authors of braid and mapclass, but I cannot answer why > sage tries to load braid. In 2012 there was some talk about porting braid > to sage and I believe that perhaps David Joyner wanted it ported. At least > his name was mentioned in the correspondence. Dima Pasechnik also played > some role. Dima, do you remember anything? > I sent files to Max and Alexander by separate email. They will be posted on github eventually. > Sergey > ________________________________________ > From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Alexander Konovalov [alexander.konovalov at st-andrews.ac.uk] > Sent: Saturday, January 14, 2017 8:19 PM > To: Max Horn > Cc: z060822400814a at rezozer.net; GAP Forum > Subject: Re: [GAP Forum] GAP package: braid > >> On 14 Jan 2017, at 20:10, Max Horn wrote: >> >> Dear Jerome, >> >> for some reason I only received your email yesterday -- presumably it was stuck in mailing list moderation? Anyway, better a late answer than non at all :-). > > Yes - I've looked at moderating requests yesterday and discovered it there. >> >>> On 07 Dec 2016, at 16:57, Jerome BENOIT wrote: >>> >>> Hello Forum, >>> >>> I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', >>> which is not present in the GAP webpage. I guess it is an old GAP package. >>> Can anybody confirm this ? Does anybody knows whether or not this GAP pachage >>> has been replaced/supersedeed ? >> >> To the best of my knowledge, GAP never bundled a "braid" package. There is an undeposited "package" with that name, see , but (a) that never was shipped together with GAP, > > Yes, that's true. > > In addition, the MapClass package (https://www.gap-system.org/Packages/mapclass.html) > redistributed with GAP says that it is "an extension of the Braid package for GAP" > but it does not require Braid to work. > >> and (b) as far as I can tell, it is just a bunch of GAP source files, not an actual GAP package (i.e. no PackageInfo.g, init.g, read.g etc.). Well, that said, there is also a broken link which purports to contain a "proper" package, but it points to a location on www.opensourcemath.org, and that domain expired and was taken over by a domain grabber placing ads on it. >> >> Anyway, if you want to find out why Sage tries to load that package, perhaps ask them? And/or query their version control system to see when (and by whom) the code to load the package was added. > > Perhaps authors of Braid and MapClass, if they read the Forum, could give more light too. > > HTH > Alexander > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From dmitrii.pasechnik at cs.ox.ac.uk Sun Jan 15 11:59:27 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (Dmitrii Pasechnik) Date: Sun, 15 Jan 2017 11:59:27 +0000 Subject: [GAP Forum] GAP package: braid In-Reply-To: <63278B7E72610F4C87EE13DA0E155D9601DF7EF897@EX11.adf.bham.ac.uk> References: <89e479a9-b2b6-5a04-6940-f27669546315@rezozer.net> <7EA6F32A-713D-43D0-B231-032EE3501EFF@st-andrews.ac.uk> <63278B7E72610F4C87EE13DA0E155D9601DF7EF897@EX11.adf.bham.ac.uk> Message-ID: <20170115115927.GA29205@hilbert> On Sat, Jan 14, 2017 at 09:48:42PM +0000, Sergey Shpectorov wrote: > I am one of the authors of braid and mapclass, but I cannot answer why > sage tries to load braid. In 2012 there was some talk about porting braid > to sage and I believe that perhaps David Joyner wanted it ported. At least > his name was mentioned in the correspondence. Dima Pasechnik also played > some role. Dima, do you remember anything? sure: see e.g. https://trac.sagemath.org/ticket/13211#comment:15 We'll swap braid with mapclass https://trac.sagemath.org/ticket/22190 By the way, most of webpage links on https://gap-system.org/Packages/mapclass.html are not working. Cheers, Dima > > Sergey > ________________________________________ > From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Alexander Konovalov [alexander.konovalov at st-andrews.ac.uk] > Sent: Saturday, January 14, 2017 8:19 PM > To: Max Horn > Cc: z060822400814a at rezozer.net; GAP Forum > Subject: Re: [GAP Forum] GAP package: braid > > > On 14 Jan 2017, at 20:10, Max Horn wrote: > > > > Dear Jerome, > > > > for some reason I only received your email yesterday -- presumably it was stuck in mailing list moderation? Anyway, better a late answer than non at all :-). > > Yes - I've looked at moderating requests yesterday and discovered it there. > > > >> On 07 Dec 2016, at 16:57, Jerome BENOIT wrote: > >> > >> Hello Forum, > >> > >> I have just noticed that Sage[Math] tries to pre-loads the GAP package `braid', > >> which is not present in the GAP webpage. I guess it is an old GAP package. > >> Can anybody confirm this ? Does anybody knows whether or not this GAP pachage > >> has been replaced/supersedeed ? > > > > To the best of my knowledge, GAP never bundled a "braid" package. There is an undeposited "package" with that name, see , but (a) that never was shipped together with GAP, > > Yes, that's true. > > In addition, the MapClass package (https://www.gap-system.org/Packages/mapclass.html) > redistributed with GAP says that it is "an extension of the Braid package for GAP" > but it does not require Braid to work. > > > and (b) as far as I can tell, it is just a bunch of GAP source files, not an actual GAP package (i.e. no PackageInfo.g, init.g, read.g etc.). Well, that said, there is also a broken link which purports to contain a "proper" package, but it points to a location on www.opensourcemath.org, and that domain expired and was taken over by a domain grabber placing ads on it. > > > > Anyway, if you want to find out why Sage tries to load that package, perhaps ask them? And/or query their version control system to see when (and by whom) the code to load the package was added. > > Perhaps authors of Braid and MapClass, if they read the Forum, could give more light too. > > HTH > Alexander > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From ekpenogiugo at gmail.com Tue Jan 17 08:56:34 2017 From: ekpenogiugo at gmail.com (ekpen ogiugo) Date: Mon, 16 Jan 2017 20:56:34 -1200 Subject: [GAP Forum] Ascending Chains function Message-ID: Dear forum, Is there anyone that help to solve this error problem on the above- subject matter: gap>G:= SymmetricGroup(3); gap> H:= AllSubgroups(G); gap> a:= H[1]; gap> b:= H[2]; gap> c:= H[3]; gap> d:= H[4]; gap> e:= H[5]; gap> f:= H[6]; gap> j:= AscendingChains(G,a); gap> Error Thanks From f.k.moftakhar at gmail.com Tue Jan 17 12:11:09 2017 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Tue, 17 Jan 2017 15:41:09 +0330 Subject: [GAP Forum] Conjugacy classes Message-ID: Dear Forum I have two groups G and H of orders 2352 and 14520, resepctively. G has exactly nine conjugacy classes and H has exactly 10 conjugacy classes. Is there any methos to construct such groups by GAP. Best reagards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From sam at Math.RWTH-Aachen.De Tue Jan 17 13:23:33 2017 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Tue, 17 Jan 2017 14:23:33 +0100 Subject: [GAP Forum] Conjugacy classes In-Reply-To: References: Message-ID: <20170117132332.GA30521@localhost.localdomain> Dear GAP Forum, Fatemeh Moftakhar asked > I have two groups G and H of orders 2352 and 14520, resepctively. G has > exactly nine conjugacy classes and H has exactly 10 conjugacy classes. Is > there any methos to construct such groups by GAP. What about the following. gap> g:= PrimitiveGroup( 49, 25 ); 7^2:(Q(8)'D(2*3)) gap> Size( g ); NrConjugacyClasses( g ); 2352 9 gap> h:= PrimitiveGroup( 121, 56 ); 11^2:(2.Alt(5)) gap> Size( h ); NrConjugacyClasses( h ); 14520 10 All the best, Thomas From Bill.Allombert at math.u-bordeaux.fr Tue Jan 17 14:10:55 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 17 Jan 2017 15:10:55 +0100 Subject: [GAP Forum] Ascending Chains function In-Reply-To: References: Message-ID: <20170117141055.GD22684@yellowpig> On Mon, Jan 16, 2017 at 08:56:34PM -1200, ekpen ogiugo wrote: > Dear forum, > Is there anyone that help to solve this error problem on the above- > subject matter: > gap>G:= SymmetricGroup(3); > gap> H:= AllSubgroups(G); > gap> a:= H[1]; > gap> b:= H[2]; > gap> c:= H[3]; > gap> d:= H[4]; > gap> e:= H[5]; > gap> f:= H[6]; > gap> j:= AscendingChains(G,a); ^ > gap> Error There is no final 's' to AscendingChain, try gap> j:= AscendingChain(G,a); [ Group(()), Sym( [ 2 .. 3 ] ), Sym( [ 1 .. 3 ] ) ] Cheers, Bill. From qijiayue14 at mails.ucas.ac.cn Wed Jan 18 10:08:41 2017 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 18 Jan 2017 18:08:41 +0800 (GMT+08:00) Subject: [GAP Forum] How do I get the ID of all groups of order n Message-ID: Dear Forum members, Here is a trivial question: What's the order of getting the ID of all groups of order n, where n is given as a finite number,say , 74? Thanks a lot! Best regards, Jiayue From qijiayue14 at mails.ucas.ac.cn Wed Jan 18 10:10:44 2017 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 18 Jan 2017 18:10:44 +0800 (GMT+08:00) Subject: [GAP Forum] How do I get the ID of all groups of order n Message-ID: Dear Forum members, Here is a trivial question: What's the order of getting the ID of all groups of order n, where n is given as a finite number,say , 74? Thanks a lot! Best regards, Jiayue From qijiayue14 at mails.ucas.ac.cn Wed Jan 18 10:16:17 2017 From: qijiayue14 at mails.ucas.ac.cn (=?GBK?B?xuu8ztTD?=) Date: Wed, 18 Jan 2017 18:16:17 +0800 (GMT+08:00) Subject: [GAP Forum] probelm soplved Message-ID: Dear Forum, I got the answer to my last question already, which should be AllSmallGroups(74). Sorry for disturbing you! Best, Jiayue Qi From ekpenogiugo at gmail.com Wed Jan 18 13:12:23 2017 From: ekpenogiugo at gmail.com (ekpen ogiugo) Date: Wed, 18 Jan 2017 14:12:23 +0100 Subject: [GAP Forum] Ascending chain Function Message-ID: > Dear forum, > Is there anyone that help to solve this error problem on the above- > subject matter: > gap>G:= SymmetricGroup(3); > gap> H:= AllSubgroups(G); > gap> a:= H[1]; > gap> b:= H[2]; > gap> c:= H[3]; > gap> d:= H[4]; > gap> e:= H[5]; > gap> f:= H[6]; > gap> j:= AscendingChains(G,a); ^ > gap> Error There is no final 's' to AscendingChain, try gap> j:= AscendingChain(G,a); [ Group(()), Sym( [ 2 .. 3 ] ), Sym( [ 1 .. 3 ] ) ] Cheers, Bill. Thanks We want to construct all chains starting from trivial group to the whole group G. For example SymmetricGroup(3) has 10 such chains ending in G. From Alexander.Hulpke at colostate.edu Wed Jan 18 15:01:07 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Wed, 18 Jan 2017 15:01:07 +0000 Subject: [GAP Forum] Ascending chain Function In-Reply-To: References: Message-ID: Dear Forum, > On Jan 18, 2017, at 6:12 AM, ekpen ogiugo wrote: > > Thanks > We want to construct all chains starting from trivial group to the whole > group G. > For example SymmetricGroup(3) has 10 such chains ending in G What will not work is to simply pluralize a function name and expect that it will create all objects in a sensible way. My suggestion would be to determine all subgroups, create the directed graph given by inclusion, and then systematically build all paths. This is something you would have to code yourself. Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From f.k.moftakhar at gmail.com Tue Jan 24 06:51:32 2017 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Tue, 24 Jan 2017 10:21:32 +0330 Subject: [GAP Forum] Lamplighter Groups Message-ID: Dear Forum I need to work with Lamplighter groups but the commend "LamplighterGroup" is not work on my computer. GAP send the message "*Sorry, file '/cygdrive/D/gap4r7/pkg/fr-2.2.1/doc/chap9.txt' seems to be corrupted*." Is there other commend for calling Lamplighter groups? Best regards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From joydebpal77 at gmail.com Wed Jan 25 05:33:17 2017 From: joydebpal77 at gmail.com (Joydeb Pal) Date: Wed, 25 Jan 2017 11:03:17 +0530 Subject: [GAP Forum] I can't write a program to make a Quotient ring F_2[u]/u^k for some positive integer k. Message-ID: Dear all, I am trying to write a ring *F_2+uF_2+u^2 F_2+......+u^(k-1)F_2* where *F_2* is the field with two elements and *u^k=0*. Actually this field is similar to the quotient ring *F_2[u] / u^k. *I am unable to define such a ring and also i can't print the elements of this ring. Please help me. From oxeimon at gmail.com Tue Jan 31 00:30:16 2017 From: oxeimon at gmail.com (Will Chen) Date: Mon, 30 Jan 2017 19:30:16 -0500 Subject: [GAP Forum] How do I construct the rank 2 free metabelian group of exponent n? Message-ID: Let [image: F] be the free group in two generators [image: x,y], and [image: n] an integer. I would like to create the group [image: F/F''F^n]. This is a finitely generated solvable group of exponent [image: n], and hence is finite. Unfortunately, the subgroups [image: F'',F^n] are infinitely generated. Creating [image: F'] via "DerivedSubgroup(F)" seems to work, since [image: F] is finitely generated, but creating [image: F''] by calling "DerivedSubgroup" doesn't seem to halt. Also, I don't know of a command that can create [image: F^n]. Is it possible to construct the finite group [image: F/F''F^n] in GAP? - Will From Alexander.Hulpke at colostate.edu Tue Jan 31 02:48:26 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Tue, 31 Jan 2017 02:48:26 +0000 Subject: [GAP Forum] How do I construct the rank 2 free metabelian group of exponent n? In-Reply-To: References: Message-ID: Dear GAP-Forum, Dear Will, On Jan 30, 2017, at 5:30 PM, Will Chen > wrote: Let [image: F] be the free group in two generators [image: x,y], and [image: n] an integer. I would like to create the group [image: F/F''F^n]. This is a finitely generated solvable group of exponent [image: n], and hence is finite. Unfortunately, the subgroups [image: F'',F^n] are infinitely generated. Creating [image: F'] via "DerivedSubgroup(F)" seems to work, since [image: F] is finitely generated, but creating [image: F''] by calling "DerivedSubgroup" doesn't seem to halt. Also, I don't know of a command that can create [image: F^n]. Is it possible to construct the finite group [image: F/F''F^n] in GAP? I would go by suitable quotients. First look at the largest abelian, exponent n quotient of the group, that must be C_n^2. Then take the kernel, and take again the largest abelian exponent -n quotient. For example, for n=6: gap> F:=FreeGroup(2); gap> a1:=AbelianGroup(IsPermGroup,[6,6]); Group([ (1,2,3,4,5,6), (7,8,9,10,11,12) ]) gap> q1:=GroupHomomorphismByImages(F,a1,GeneratorsOfGroup(F), > GeneratorsOfGroup(a1)); [ f1, f2 ] -> [ (1,2,3,4,5,6), (7,8,9,10,11,12) ] gap> k:=Kernel(q1); Group() gap> Length(GeneratorsOfGroup(k)); 37 To avoid constructing a regular representation of the factor of order 6^37 we take individual quotients of order 6, take their kernels and then intersect (Because of the iterated maps we use permutation representations ? this is not implemented for other representations) gap> ims:=List([1..37],x->ListWithIdenticalEntries(37,One(cyc)));; gap> for i in [1..37] do ims[i][i]:=cyc.1;od; gap> qs:=List(ims,x->GroupHomomorphismByImages(k,cyc, > GeneratorsOfGroup(k),x));; gap> ks:=List(qs,Kernel);; gap> kk:=Intersection(ks); Group() gap> Index(F,kk)/Index(F,k); 61886548790943213277031694336 gap> 6^37; 61886548790943213277031694336 So we have the correct kernel. Now take the quotient map that is used to store it and verify that it does not represent an even larger quotient: gap> q:=DefiningQuotientHomomorphism(kk); [ f1, f2 ] -> [ (1,2,4,8,14,22)(3,6,11,18,27,37,46,5,9,15,23,32)(7,10,16,24,33,42)(12,19, 28,38,47,55)(13,17,25,34,43,52)(20,29,39,48,56,62)(21,26,35,44,53,60)(30, [?] gap> Size(Image(q)); 2227915756473955677973140996096 gap> Index(F,kk); 2227915756473955677973140996096 The Image, H is a finite group of which we want a quotient: gap> H:=Image(q); But H has elements of higher order. Factor out 6-th powers (somewhat trial-and error, we verify below that the quotient has exponent 6): gap> s:=TrivialSubgroup(H); Group(()) gap> for i in [1..100] do s:=ClosureGroup(s,Random(H)^6);od; gap> s:=NormalClosure(H,s);; gap> Index(H,s); 544195584 gap> gq:=NaturalHomomorphismByNormalSubgroup(H,s); This is the quotient you want: gap> G:=Range(gq); gap> DerivedSeries(G); [ , , Group([ ]) ] gap> Exponent(G); 6 By tracing through the homomorphisms from F properly, you can remember how it is an image of F. All the best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From shenrulin at hotmail.com Wed Feb 1 05:17:22 2017 From: shenrulin at hotmail.com (Rulin Shen) Date: Wed, 1 Feb 2017 05:17:22 +0000 Subject: [GAP Forum] A question of GAP Message-ID: Dear forum, How to find that the finite group G has a subset H such that |H\cap Hg|=|G|/4 for all elements g in G different from 1? Thanks in advance! Best wishes Rulin Shen From Max.Horn at math.uni-giessen.de Wed Feb 1 10:28:38 2017 From: Max.Horn at math.uni-giessen.de (Max Horn) Date: Wed, 1 Feb 2017 11:28:38 +0100 Subject: [GAP Forum] Itanium and Sparc Message-ID: <5EBE931B-88B8-49A5-B168-2A5505FE10A4@math.uni-giessen.de> Dear all, we are wondering if anybody here is still using GAP on either Itanium or Sparc. If that's the case, please let me know -- either by email me directly (let's not spam this list with this), or by commenting on this GitHub issue: If nobody reports using GAP on one of the two systems, we may drop support in GAP 4.9. Even if somebody uses it, we would need help with that; so if you are interested in that, please say so, too. Best wishes, Max -- Prof. Dr. Max Horn AG Algebra Mathematisches Institut Justus-Liebig-Universit?t Gie?en Arndtstra?e 2 D-35392 Gie?en Tel: (+49) 641 99-32044 Fax: (+49) 641 99-32049 E-Mail: max.horn at math.uni-giessen.de From Bill.Allombert at math.u-bordeaux.fr Thu Feb 2 10:35:47 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 2 Feb 2017 11:35:47 +0100 Subject: [GAP Forum] character tables ordering Message-ID: <20170202103547.GA11165@yellowpig> Dear GAP Forum, If I do: gap> S4:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> Display(CharacterTable(S4)); CT1 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 but if I do: gap> IdGroup(S4); [ 24, 12 ] gap> G:=SmallGroup(24,12); gap> Display(CharacterTable(G)); CT2 2 3 2 . 3 2 3 1 . 1 . . 1a 2a 3a 2b 4a 2P 1a 1a 3a 1a 2b 3P 1a 2a 1a 2b 4a X.1 1 1 1 1 1 X.2 1 -1 1 1 -1 X.3 2 . -1 2 . X.4 3 -1 . -1 1 X.5 3 1 . -1 -1 so I get two different ordering for the row and columns of the table, which is not entirely surprising since different algorithms are used here. My question is whether there are some standard order for printing character table. This would be useful for interoperability between software (or two version of the same software) by using a common numbering for characters which could avoid mistakes. Cheers, Bill. From shenrulin at hotmail.com Thu Feb 2 11:45:56 2017 From: shenrulin at hotmail.com (Rulin Shen) Date: Thu, 2 Feb 2017 11:45:56 +0000 Subject: [GAP Forum] =?utf-8?b?5Zue5aSN77yaIEEgcXVlc3Rpb24gb2YgR0FQ?= References: Message-ID: Dear Prof. Cameron, Thanks for your answer. Sorry to my question's condition should be |H^c \cap Hg|=|G|/4, where H^c the complement of H in G, and all g. So sorry! Yours, Rulin Shen ---????--- ???: "Peter Cameron " ????: 2017?2?2? 19:06:42 ???: "Rulin Shen"; ??: Re: [GAP Forum] A question of GAP Dear Rulin Shen, I believe that the situation you describe is impossible. Suppose that |G|=n and |H|=m. Let us count in two ways the pairs (g,x) with g<>1 and x in H\cap Hg. There are n-1 choices of g and then n/4 choices of x. On the other hand, there are m choices of x in H, and then (m-1) choices of g such that x in Hg (this requires x=hg for some h in H, so g=xh^-1; and we are not allowed to choose h=x here but any other choice is fine. So m(m-1)=(n-1)n/4. Now it is easy to see that this equation has no solution. (n is even, and the numbers n/2(n/2-1) and (n/2+1)n/2 lie on either side of n(n-1)/4.) Yours, Peter Cameron. On 01/02/17 05:17, Rulin Shen wrote: > Dear forum, > > > How to find that the finite group G has a subset H such that |H\cap Hg|=|G|/4 for all elements g in G different from 1? > > > Thanks in advance! > > Best wishes > > Rulin Shen > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From frank.luebeck at math.rwth-aachen.de Thu Feb 2 12:18:12 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 2 Feb 2017 13:18:12 +0100 Subject: [GAP Forum] character tables ordering In-Reply-To: <20170202103547.GA11165@yellowpig> References: <20170202103547.GA11165@yellowpig> Message-ID: <20170202121812.GC31789@localhost.localdomain> Dear Bill, dear Forum, I don't see how one could define some "standard" or "canonical" ordering on conjugacy classes or irreducible characters of any finite group. On Thu, Feb 02, 2017 at 11:35:47AM +0100, Bill Allombert wrote: > Dear GAP Forum, > > If I do: > gap> S4:=SymmetricGroup(4); > Sym( [ 1 .. 4 ] ) > gap> Display(CharacterTable(S4)); > CT1 > > 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 In this case GAP "knows" that S4 is a symmetric group on 4 letters and returns the library table for this group. It contains the standard labelling of classes and characters by partitions of 4: t1 := CharacterTable(S4); ClassParameters(t1); CharacterParameters(t1); InfoText(t1); The ordering for rows and colums is that of Partitions(4). > but if I do: > gap> IdGroup(S4); > [ 24, 12 ] > gap> G:=SmallGroup(24,12); > > gap> Display(CharacterTable(G)); > CT2 > > 2 3 2 . 3 2 > 3 1 . 1 . . > > 1a 2a 3a 2b 4a > 2P 1a 1a 3a 1a 2b > 3P 1a 2a 1a 2b 4a > > X.1 1 1 1 1 1 > X.2 1 -1 1 1 -1 > X.3 2 . -1 2 . > X.4 3 -1 . -1 1 > X.5 3 1 . -1 -1 > > so I get two different ordering for the row and columns of the table, > which is not entirely surprising since different algorithms are used > here. If GAP does not know about an appropriate library table and computes the table with some (here Dixon's) algorithm then the tables can even be different on different occasions. Also the labelling of conjugacy classes may be different. t2 := CharacterTable(G); InfoText(t2); > My question is whether there are some standard order for printing > character table. This would be useful for interoperability between > software (or two version of the same software) by using a common > numbering for characters which could avoid mistakes. To check if two tables are the same modulo permutation of rows and columns you can use TransformingPermutationsCharacterTables(t1,t2); For the display of character tables you can use some optional hints collected in a record, see ?Reference: Display (for a character table) ?Browse: Browse (for character tables) For example, to display characters with respect to '<' of rows: ord := [1..Length(Irr(t1))];; SortParallel(ShallowCopy(Irr(t1)),ord); Display(t1, rec(chars := ord)); Browse(t1, rec(chars := ord)); With best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From dmitrii.pasechnik at cs.ox.ac.uk Thu Feb 2 12:31:53 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Thu, 2 Feb 2017 12:31:53 +0000 Subject: [GAP Forum] character tables ordering In-Reply-To: <20170202121812.GC31789@localhost.localdomain> References: <20170202103547.GA11165@yellowpig> <20170202121812.GC31789@localhost.localdomain> Message-ID: <20170202123152.GA17480@hilbert> Dear all, On Thu, Feb 02, 2017 at 01:18:12PM +0100, Frank L?beck wrote: > > I don't see how one could define some "standard" or "canonical" ordering > on conjugacy classes or irreducible characters of any finite group. Assuming one agrees on a standard ordering of the cyclotomic numbers involved (e.g. the one used by GAP), one can then order the tables so that the result is lexicographiically maximal (or minimal), row-wise (or column-wise). Pick your preferred flavour of the latter alternatives. Best, Dima > > > On Thu, Feb 02, 2017 at 11:35:47AM +0100, Bill Allombert wrote: > > Dear GAP Forum, > > > > If I do: > > gap> S4:=SymmetricGroup(4); > > Sym( [ 1 .. 4 ] ) > > gap> Display(CharacterTable(S4)); > > CT1 > > > > 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 > > In this case GAP "knows" that S4 is a symmetric group on 4 letters and > returns the library table for this group. It contains the standard > labelling of classes and characters by partitions of 4: > > t1 := CharacterTable(S4); > ClassParameters(t1); > CharacterParameters(t1); > InfoText(t1); > > The ordering for rows and colums is that of Partitions(4). > > > but if I do: > > gap> IdGroup(S4); > > [ 24, 12 ] > > gap> G:=SmallGroup(24,12); > > > > gap> Display(CharacterTable(G)); > > CT2 > > > > 2 3 2 . 3 2 > > 3 1 . 1 . . > > > > 1a 2a 3a 2b 4a > > 2P 1a 1a 3a 1a 2b > > 3P 1a 2a 1a 2b 4a > > > > X.1 1 1 1 1 1 > > X.2 1 -1 1 1 -1 > > X.3 2 . -1 2 . > > X.4 3 -1 . -1 1 > > X.5 3 1 . -1 -1 > > > > so I get two different ordering for the row and columns of the table, > > which is not entirely surprising since different algorithms are used > > here. > > If GAP does not know about an appropriate library table and computes the > table with some (here Dixon's) algorithm then the tables can even be different > on different occasions. Also the labelling of conjugacy classes may be different. > > t2 := CharacterTable(G); > InfoText(t2); > > > My question is whether there are some standard order for printing > > character table. This would be useful for interoperability between > > software (or two version of the same software) by using a common > > numbering for characters which could avoid mistakes. > > To check if two tables are the same modulo permutation of rows and columns > you can use > > TransformingPermutationsCharacterTables(t1,t2); > > For the display of character tables you can use some optional hints > collected in a record, see > > ?Reference: Display (for a character table) > ?Browse: Browse (for character tables) > > For example, to display characters with respect to '<' of rows: > > ord := [1..Length(Irr(t1))];; > SortParallel(ShallowCopy(Irr(t1)),ord); > Display(t1, rec(chars := ord)); > Browse(t1, rec(chars := ord)); > > With best regards, > Frank > -- > /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, > \\\ 52062 Aachen, Germany > /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De > \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From max at quendi.de Thu Feb 2 16:31:06 2017 From: max at quendi.de (Max Horn) Date: Thu, 2 Feb 2017 17:31:06 +0100 Subject: [GAP Forum] A question of GAP In-Reply-To: References: Message-ID: <1E2CE24B-A536-4689-B0F4-E7DC43E5B07B@quendi.de> Dear Rulin, > On 02 Feb 2017, at 12:45, Rulin Shen wrote: > > Dear Prof. Cameron, > > Thanks for your answer. Sorry to my question's condition should be |H^c \cap Hg|=|G|/4, where H^c the complement of H in G, and all g. So sorry! Then the problem seems to become trivial: H^c \cap Hg either equals the empty set (when g\in H) or else Hg. By your condition, the former case must not occur for any g\neq 1, thus H must be trivial. But then |H^c \cap Hg|=1 for g\neq 1, thus |G|=4 and G is either C_4 or C_2 x C_2. Cheers, Max From alexander.konovalov at st-andrews.ac.uk Fri Feb 3 13:14:28 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 3 Feb 2017 13:14:28 +0000 Subject: [GAP Forum] 33rd British Colloquium for Theoretical Computer Science: St Andrews 26-28 April 2017 Message-ID: <5E21BEAA-A3F5-4D7D-B098-B7029E38DA64@st-andrews.ac.uk> Dear Forum, This is the announcement of the 33rd British Colloquium for Theoretical Computer Science, with the LMS Keynote Lecture in Discrete Mathematics delivered by Professor L?szl? Babai (University of Chicago). The Colloquium will be preceded by the Scottish Combinatorics Meeting, also in St Andrews. Best wishes Alexander ============================================================================ Dear all, The 33rd BCTCS will be hosted by the School of Computer Science, University of St Andrews, from the 26th to the 28th of April 2017. The purpose of BCTCS is to provide a forum in which researchers in theoretical computer science can meet, present research findings, and discuss developments in the field. It also aims to provide an environment in which PhD students can gain experience in presenting their work, and benefit from contact with established researchers. The scope of the colloquium includes all aspects of theoretical computer science, including algorithms, complexity, cryptography, formal methods, game theory, machine learning, languages, logics and quantum computation. Both computer scientists and mathematicians are welcome to attend, as are participants from outside of the UK. This year the colloquium will feature the following invited speakers LMS Keynote Lecture in Discrete Mathematics ------------------------------------------- Professor L?szl? Babai, University of Chicago Confirmed Speakers ------------------ Perdita Stevens, University of Edinburgh Conor McBride, University of Strathclyde Felix Fischer, University of Glasgow Edwin Brady, University of St Andrews Mehrnoosh Sadrzadeh, Queen Mary University of London Registration is *now open*, and you can find more information at the following web address https://bctcs2017.cs.st-andrews.ac.uk/ PhD students are especially encouraged to offer a talk. As an additional event, there will be a Scottish Combinatorics Meeting at the School of Mathematics in St Andrews on the 24th and 25th of April (see http://turnbull.mcs.st-and.ac.uk/~nik/scm/). If you would like to take part in the meeting, please contact the organisers directly. The organisers hope to welcome you to St Andrews in April. ============================================================================ From surinder.kaur at iitrpr.ac.in Tue Feb 7 08:10:47 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Tue, 7 Feb 2017 13:40:47 +0530 Subject: [GAP Forum] Quadratic residue in finite field Message-ID: How can one check whether an element in a finite field with p^m elements is a quadratic residue or not? -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From Bill.Allombert at math.u-bordeaux.fr Tue Feb 7 10:02:58 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 7 Feb 2017 11:02:58 +0100 Subject: [GAP Forum] Quadratic residue in finite field In-Reply-To: References: Message-ID: <20170207100258.GI14384@yellowpig> On Tue, Feb 07, 2017 at 01:40:47PM +0530, Surinder Kaur wrote: > How can one check whether an element in a finite field with p^m elements is > a quadratic residue or not? Just test whether a^((p^m-1)/2) = 1 Cheers, Bill. From surinder.kaur at iitrpr.ac.in Tue Feb 7 10:21:46 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Tue, 7 Feb 2017 15:51:46 +0530 Subject: [GAP Forum] Quadratic residue in finite field In-Reply-To: <20170207100258.GI14384@yellowpig> References: <20170207100258.GI14384@yellowpig> Message-ID: If F is a field with q = p^m -1 elements where m is even and p is an odd prime, A the set of all quadratic residues and B = {4 b - 1 | b is primitive element of F} . Then my aim is to prove A intersection B is non empty i.e. for some primitive element b the element 4b-1 is a square of some element. How to check whether the conjecture holds atleast for some p and m's. From stefan at mcs.st-and.ac.uk Tue Feb 7 14:03:34 2017 From: stefan at mcs.st-and.ac.uk (Stefan Kohl) Date: Tue, 7 Feb 2017 14:03:34 -0000 (UTC) Subject: [GAP Forum] Quadratic residue in finite field In-Reply-To: References: <20170207100258.GI14384@yellowpig> Message-ID: On Tue, February 7, 2017 10:21 am, Surinder Kaur wrote: > If F is a field with q = p^m -1 elements where m is even and p is an odd > prime, Since the existence of a field F with q elements implies that q is a prime power and since for an odd prime p we have q = p^m - 1 even, we can conclude that q is in fact a power of 2, and that F has characteristic 2. > A the set of all quadratic residues and B = {4 b - 1 | b is > primitive element of F}. Since F has characteristic 2, we have B = {1}. > Then my aim is to prove A intersection B is non > empty i.e. for some primitive element b the element 4b-1 is a square of > some element. Just take any primitive element b. -- Then we have 4b-1 = 1 (since F has characteristic 2), and 1 is the square of itself. qed. -- Does this help you? Best regards, Stefan Kohl P.S.: The GAP Forum is intended for questions on GAP. -- General questions on mathematics are more on-topic on Math.SE. From surinder.kaur at iitrpr.ac.in Wed Feb 8 09:06:11 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Wed, 8 Feb 2017 14:36:11 +0530 Subject: [GAP Forum] Quadratic residue in finite field Message-ID: If F is a field with q = p^m elements where m is even and p is an odd prime, A the set of all quadratic residues and B = {4 b - 1 | b is primitive element of F} . Then my aim is to prove A intersection B is non empty i.e. for some primitive element b the element 4b-1 is a square of some element. How to check whether the conjecture holds atleast for some p and m's. -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From surinder.kaur at iitrpr.ac.in Sat Feb 11 16:41:55 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Sat, 11 Feb 2017 22:11:55 +0530 Subject: [GAP Forum] coprime to n Message-ID: Hi all We know that the Euler-totient function in GAP is Phi(n) . But how one can list all the integers co-prime to a given integer n. -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From Bill.Allombert at math.u-bordeaux.fr Sat Feb 11 17:01:43 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Sat, 11 Feb 2017 18:01:43 +0100 Subject: [GAP Forum] coprime to n In-Reply-To: References: Message-ID: <20170211170143.GF18208@yellowpig> On Sat, Feb 11, 2017 at 10:11:55PM +0530, Surinder Kaur wrote: > Hi all > > We know that the Euler-totient function in GAP is Phi(n) . But how one can > list all the integers co-prime to a given integer n. Just use Filtered: gap> n:=100;Filtered([1..n-1],x->Gcd(x,n)=1); 100 [ 1, 3, 7, 9, 11, 13, 17, 19, 21, 23, 27, 29, 31, 33, 37, 39, 41, 43, 47, 49, 51, 53, 57, 59, 61, 63, 67, 69, 71, 73, 77, 79, 81, 83, 87, 89, 91, 93, 97, 99 ] Cheers, Bill. From surinder.kaur at iitrpr.ac.in Sat Feb 11 17:09:06 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Sat, 11 Feb 2017 22:39:06 +0530 Subject: [GAP Forum] coprime to n In-Reply-To: <20170211170143.GF18208@yellowpig> References: <20170211170143.GF18208@yellowpig> Message-ID: Thank you very much. I found a direct command too PrimeResidues(n). On Sat, Feb 11, 2017 at 10:31 PM, Bill Allombert < Bill.Allombert at math.u-bordeaux.fr> wrote: > On Sat, Feb 11, 2017 at 10:11:55PM +0530, Surinder Kaur wrote: > > Hi all > > > > We know that the Euler-totient function in GAP is Phi(n) . But how one > can > > list all the integers co-prime to a given integer n. > > Just use Filtered: > > gap> n:=100;Filtered([1..n-1],x->Gcd(x,n)=1); > 100 > [ 1, 3, 7, 9, 11, 13, 17, 19, 21, 23, 27, 29, 31, 33, 37, 39, 41, 43, > 47, 49, 51, 53, 57, 59, 61, 63, 67, 69, 71, 73, 77, 79, 81, 83, 87, 89, > 91, 93, 97, 99 ] > > Cheers, > Bill. > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From ekpenogiugo at gmail.com Wed Feb 15 09:57:34 2017 From: ekpenogiugo at gmail.com (ekpen ogiugo) Date: Wed, 15 Feb 2017 10:57:34 +0100 Subject: [GAP Forum] subgroups of S_4 Message-ID: Dear forum, gap> G:= SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> H:= AllSubgroups(G);; gap> Length(H); 30 gap> M:= List([1..30],i->Size(H[i])); [ 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, 8, 8, 8, 12, 24 ] gap> Collected(M); [ [ 1, 1 ], [ 2, 9 ], [ 3, 4 ], [ 4, 7 ], [ 6, 4 ], [ 8, 3 ], [ 12, 1 ], [ 24, 1 ] ] gap> List([15..30],j->List([3..10],i->IsSubgroup(H[j],H[i]))); [ [ true, true, false, false, false, false, false, false ], [ false, false, true, false, false, true, false, false ], [ false, true, false, true, false, false, false, true ], [ true, false, false, false, true, false, true, false ], [ false, false, false, false, false, false, false, false], [ true, false, false, false, false, false, false, false], [ false, true, false, false, false, false, false, false ], [ false, false, true, true, true, false, false, false ], [ false, false, true, false, false, false, true, true ], [ false, false, false, true, false, true, true, false ], [ false, false, false, false, true, true, false, true ], [ true, true, true, false, false, true, false, false ], [ true, true, false, true, false, false, false, true ], [ true, true, false, false, true, false, true, false ], [ true, true, false, false, false, false, false, false ], [ true, true, true, true, true, true, true, true ] ] This is an illustration of order of subgroups in S4:(2,4),(2,6),(2,8),(2,12) and(2,24). Can someone help me to write a program that can compute for subgroup order of these pairs (2,4,24) and (2,4,8,24) in S4? Thanks Mike From pjc20 at st-andrews.ac.uk Fri Feb 3 15:22:10 2017 From: pjc20 at st-andrews.ac.uk (Peter Cameron) Date: Fri, 03 Feb 2017 15:22:10 -0000 Subject: [GAP Forum] A question of GAP In-Reply-To: <1E2CE24B-A536-4689-B0F4-E7DC43E5B07B@quendi.de> References: <1E2CE24B-A536-4689-B0F4-E7DC43E5B07B@quendi.de> Message-ID: <4756110d-971a-fa9c-cf32-767a6ee06b91@st-andrews.ac.uk> Dear Rulin, Max, everybody, Rulin Shen's question is exactly equivalent to asking which groups contain a "Hadamard difference set": this is a set S of size 2n^2 - n in a group of order 4n^2 such that each non-identity element of the group has n^2 - n representations as ab^-1, for a, b in S. (I can provide a proof of this if anyone is interested.) There is quite a lot of literature on Hadamard difference sets. Here are a few relevant papers; there are many more! David Gluck, Hadamard difference sets in groups of order 64, J. Combinatorial Theory (A) 51 (1989), 138-140 Alec Biehl et al., Finding Hadamard difference sets, http://www.sci.sdsu.edu/math-reu/2013-1.pdf Omar Abughneim, On (64,28,12) difference sets, Ars Combinatoria 111 (2013), 401-419. Dylan Peifer, Hadamard difference sets, http://www.math.cornell.edu/~djp282/documents/olivetti-2016.pdf Dieter Jungnickel and Bernhard Schmidt, Difference sets: an update, http://www.ntu.edu.sg/home/bernhard/Publications/pub/update1.pdf Peter. On 02/02/17 16:31, Max Horn wrote: > Dear Rulin, > >> On 02 Feb 2017, at 12:45, Rulin Shen wrote: >> >> Dear Prof. Cameron, >> >> Thanks for your answer. Sorry to my question's condition should be |H^c \cap Hg|=|G|/4, where H^c the complement of H in G, and all g. So sorry! > Then the problem seems to become trivial: H^c \cap Hg either equals the empty set (when g\in H) or else Hg. By your condition, the former case must not occur for any g\neq 1, thus H must be trivial. But then |H^c \cap Hg|=1 for g\neq 1, thus |G|=4 and G is either C_4 or C_2 x C_2. > > Cheers, > Max > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From F.Karaoglu at sussex.ac.uk Wed Feb 8 14:49:44 2017 From: F.Karaoglu at sussex.ac.uk (Fatma Karaoglu) Date: Wed, 08 Feb 2017 14:49:44 -0000 Subject: [GAP Forum] "Summer School on Finite Geometry, Brighton, 2017" Message-ID: [sorry for multiple postings, please distribute] ********************** ***First Announcement*** ********************** Summer School on Finite Geometry University of Sussex, Brighton, United Kingdom 26-30 June 2017. https://ftmakroglu05.github.io/Finite-Geometry-School/ ******************** The aim of this school is to introduce some of the main concepts in Finite Geometry and to increase the audience's knowledge of the many results and conjectures in Finite Geometry. There are 4 invited speakers to give the main lectures. Additionally, there are contributed talks every day in which participants are invited to give 15-minute presentations of their work. ******************** Invited speakers and the lectures: Joseph Thas, Ghent University, Ghent, Belgium : Arcs, Caps and Codes: Old results, New results, Generalizations. Peter Cameron, University of St Andrews, St Andrews, United Kingdom: Eigenvalues and Root Systems in Finite Geometry Simeon Ball, Polytechnic University of Catalonia, Barcelona, Spain: Combinatorial Applications of Finite Geometry Anton Betten, Colorado State University, Fort Collins, USA: Computational Methods in Finite Geometry ******************* Registration is now OPEN. To register please follow the link: http://onlineshop.sussex.ac.uk/product-catalogue/conference-seminars/school-of-mathematical-and-physical-sciences/summer-school-on-finite-geometry-2017-registration-fee Important Deadlines: Registration 12 May 2017 Abstract submission 15 May 2017 Please email to fingeo at sussex.ac.uk for all questions about the school. From e.obrien at auckland.ac.nz Sat Feb 25 23:20:56 2017 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Sun, 26 Feb 2017 12:20:56 +1300 Subject: [GAP Forum] PhD scholarship at University of Auckland Message-ID: <60704daf-2937-0605-00f7-2900ec94fbc5@auckland.ac.nz> Dear Colleagues: A PhD scholarship is available for a 3-year period at the University of Auckland. The funding is available as part of a publicly-funded research grant entitled "Symmetry, group structure, algorithms and representations" held by Jianbei An, Marston Conder and me. Please draw this opportunity to the attention of suitable students. We are happy to discuss details directly with the student. Best wishes. Eamonn O'Brien From maliksajid56 at outlook.com Wed Mar 1 06:15:18 2017 From: maliksajid56 at outlook.com (sajid khan) Date: Wed, 1 Mar 2017 06:15:18 +0000 Subject: [GAP Forum] (no subject) Message-ID: Sent from Windows Mail From maliksajid56 at outlook.com Wed Mar 1 06:15:21 2017 From: maliksajid56 at outlook.com (sajid khan) Date: Wed, 1 Mar 2017 06:15:21 +0000 Subject: [GAP Forum] (no subject) Message-ID: Sent from Windows Mail From rahul.kitture at gmail.com Fri Mar 3 03:51:35 2017 From: rahul.kitture at gmail.com (Rahul Kitture) Date: Fri, 3 Mar 2017 09:21:35 +0530 Subject: [GAP Forum] A question about rank of a matrix Message-ID: Dear Experts, I had a simple question about rank of matrices over finite fields in GAP. Suppose A and B are matrices (over a finite field GF(p)), considered in GAP. Assume that A and B have *same number of rows*. Then I want to consider the matrix obtained by putting B after A (i.e. the matrix [A B]; it has same number of rows as A; but number of columns is (number of columns of A) + (number of columns of B)) and study rank of [A B]. What is the command to do this? I did *gap > RankMat([A,B]); * But it was showing error. Thanks in advance! -Rahul Kitture HRI, Allahabad From sven.reichard at tu-dresden.de Fri Mar 3 08:23:52 2017 From: sven.reichard at tu-dresden.de (Sven Reichard) Date: Fri, 3 Mar 2017 09:23:52 +0100 Subject: [GAP Forum] A question about rank of a matrix In-Reply-To: References: Message-ID: Dear Rahul, the expression [A,B] denotes a list with the two entries A and B. GAP does not understand that you want to write the two matrices next to each other. In GAP a matrix is represented as a list of list. The rows of the matrix you are interested are the concatenations of the corresponding rows of A and B. So you can define gap> C := List([1..Length(A)], i -> Concatenation(A[i], B[i])); and then compute gap> Rank(C); Hope this helps. Sven Reichard TU Dresden On 03.03.2017 04:51, Rahul Kitture wrote: > Dear Experts, > > I had a simple question about rank of matrices over finite fields in GAP. > > Suppose A and B are matrices (over a finite field GF(p)), considered in GAP. > > Assume that A and B have *same number of rows*. > > Then I want to consider the matrix obtained by putting B after A (i.e. the > matrix [A B]; it has same number of rows as A; but number of columns is > (number of columns of A) + (number of columns of B)) and study rank of [A > B]. > > What is the command to do this? > > I did *gap > RankMat([A,B]); * > > But it was showing error. > > > Thanks in advance! > > -Rahul Kitture > HRI, Allahabad > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From surinder.kaur at iitrpr.ac.in Sat Mar 4 06:38:44 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Sat, 4 Mar 2017 12:08:44 +0530 Subject: [GAP Forum] LAGUNA package Message-ID: Using LAGUNA package we can calculate the Normalized unit group of a p-modular group algebra but can we find it if group algebra is not p-modular like of (GF(3)S3) where S3 is symmetric group of order 6. -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From benjamin.sambale at gmail.com Sun Mar 5 18:24:26 2017 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Sun, 5 Mar 2017 19:24:26 +0100 Subject: [GAP Forum] character^automorphism Message-ID: <891631e1-7009-33d4-e3b8-653d3357d2c7@gmail.com> Dear forum, the class function manual says: "The power of a class function by an element that normalizes the underlying group or by a Galois automorphism is the conjugate class function." Lets see... G:=Group((1,2),(3,4)); a:=Elements(AutomorphismGroup(G))[2]; Irr(G)[1]^a; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 3rd choice method found for `^' on 2 arguments Is this not the way it was meant to be? It works with the identity automorphism. Best wishes, Benjamin From alexander.konovalov at st-andrews.ac.uk Sun Mar 5 19:19:08 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Sun, 5 Mar 2017 19:19:08 +0000 Subject: [GAP Forum] LAGUNA package In-Reply-To: References: Message-ID: <4BDDC988-0070-4AE4-BED0-0820F77E0B7F@st-andrews.ac.uk> Dear Surinder, No, in this case, LAGUNA can only speed up some calculations only for those units of this group algebra whose support consists only of elements whose order is a power of 3. However, for such small example you can actually do something in GAP: * construct group algebra gap> F:=GF(3); GF(3) gap> G:=SymmetricGroup(3); Sym( [ 1 .. 3 ] ) gap> FG:=GroupRing(F,G); * calculate its unit group gap> U:=Units(FG); gap> time; 12484 gap> Size(U); 324 * find normalised units gap> nu:=Filtered(U,x -> IsOne(Augmentation(x)));; gap> Length(nu); 162 * construct normalised unit group gap> V:=Group(nu); * construct and explore an isomorphic permutation group gap> phi:=IsomorphismPermGroup(V); gap> H:=Image(phi); gap> IdGroup(H); [ 162, 41 ] gap> StructureDescription(H); "C3 x (((C3 x C3) : C3) : C2)" * find its minimal generating set and map it back to the group algebra gap> mgs:=MinimalGeneratingSet(H);; gap> List(mgs,u->PreImagesRepresentative(phi,u)); [ (Z(3))*()+(Z(3)^0)*(2,3)+(Z(3))*(1,2)+(Z(3)^0)*(1,2,3)+(Z(3)^0)*(1,3,2), (Z(3))*()+(Z(3))*(2,3)+(Z(3))*(1,2)+(Z(3))*(1,2,3)+(Z(3))*(1,3,2), (Z(3)^0)*()+(Z(3)^0)*(1,2)+(Z(3))* (1,2,3)+(Z(3)^0)*(1,3,2)+(Z(3))*(1,3) ] Hope this helps Alexander > On 4 Mar 2017, at 06:38, Surinder Kaur wrote: > > Using LAGUNA package we can calculate the Normalized unit group of a > p-modular group algebra but can we find it if group algebra is not > p-modular like of (GF(3)S3) where S3 is symmetric group of order 6. > > > -- > *Regards* > *Surinder Kaur* > *Research scholar * > *Department of Mathematics * > *IIT Ropar* From Alexander.Hulpke at colostate.edu Mon Mar 6 03:37:32 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Mon, 6 Mar 2017 03:37:32 +0000 Subject: [GAP Forum] character^automorphism In-Reply-To: <891631e1-7009-33d4-e3b8-653d3357d2c7@gmail.com> References: <891631e1-7009-33d4-e3b8-653d3357d2c7@gmail.com> Message-ID: <06AEC676-441D-4EEF-9FFA-F7A10C18E770@colostate.edu> Dear Forum, On Mar 5, 2017, at 11:24 AM, Benjamin Sambale > wrote: the class function manual says: "The power of a class function by an element that normalizes the underlying group or by a Galois automorphism is the conjugate class function.? G:=Group((1,2),(3,4)); a:=Elements(AutomorphismGroup(G))[2]; Irr(G)[1]^a; Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 3rd choice method found for `^' on 2 arguments Well, `a` is not an element (of a larger group) that normalizes the underlying group (in fact this automorphism cannot be realized by conjugation), nor a Galois automorphism. (The identity *is* a Galois automorphism, albeit a boring one.) If you take the regular representation, you can take equivalent conjugating elements of S_4, and it works as expected. gap> G:=Group((1,2)(3,4),(1,3)(2,4));; gap> c:=Irr(G)[1]; Character( CharacterTable( Group([ (1,2)(3,4), (1,3)(2,4) ]) ), [ 1, 1, 1, 1 ] ) gap> a:=Elements(AutomorphismGroup(G));;Length(a); 6 gap> List(a,IsConjugatorAutomorphism); [ true, true, true, true, true, true ] gap> a:=List(a,ConjugatorOfConjugatorIsomorphism); [ (), (3,4), (2,3), (2,3,4), (2,4,3), (2,4) ] gap> List(a,x->c^x); [ Character( CharacterTable( Group([ (1,2)(3,4), (1,3)(2,4) ]) ), [ 1, 1, 1, 1 ] ), Character( CharacterTable( Group([ (1,2)(3,4), (1,3) (2,4) ]) ), [ 1, 1, 1, 1 ] ), Character( CharacterTable( Group([ (1,2) (3,4), (1,3)(2,4) ]) ), [ 1, 1, 1, 1 ] ), Character( CharacterTable( Group([ (1,2)(3,4), (1,3)(2,4) ]) ), [ 1, 1, 1, 1 ] ), Character( CharacterTable( Group([ (1,2)(3,4), (1,3) (2,4) ]) ), [ 1, 1, 1, 1 ] ), Character( CharacterTable( Group([ (1,2) (3,4), (1,3)(2,4) ]) ), [ 1, 1, 1, 1 ] ) ] Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From alexander.konovalov at st-andrews.ac.uk Mon Mar 6 13:03:38 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 6 Mar 2017 13:03:38 +0000 Subject: [GAP Forum] 8th International Workshop on Parallel and Symbolic Computation (Kaiserslautern July 23-24, 2017) Message-ID: <0C8D38D7-672F-4FAB-8E4F-16093DB3557B@st-andrews.ac.uk> FINAL CALL FOR PAPERS PASCO 2017 Abstract submission deadline: Monday 3rd April 2017 (23:59 PST). Paper submission deadline: Monday 10th April 2017 (23:59 PST). 8th International Workshop on Parallel and Symbolic Computation Technical University of Kaiserslautern, Germany, July 23-24, 2017 http://sigsam.org/PASCO/2017/ The International Workshop on Parallel and Symbolic Computation (PASCO) is a series of workshops dedicated to the promotion and advancement of parallel algorithms and software in all areas of mathematical computation. CONFERENCE TOPICS All topics covered traditionally by PASCO including: * Design and analysis of parallel algorithms for computer algebra * Practical parallel implementation of symbolic or symbolic-numeric algorithms * Design of high-performance algebraic packages and systems * Data representation and distributed data-structures * Considerations for modern hardware and hardware acceleration technologies (multi-cores, GPUs, FPGAs) * Cache complexity and cache-oblivious algorithms for computer algebra * Parallel implementations of computer algebra algorithms on GPUs * Parallel algorithm implementation and performance tuning * Compile-time and run-time techniques for automating optimization and platform adaptation of computer algebra algorithms * Applications of high-performance computer algebra in theorem proving, cryptography, computational biology, number theory, group theory, satisfiability checking, SAT solving, etc. PASCO 2017 is affiliated with and immediately precedes the 2017 International Symposium on Symbolic and Algebraic Computation (ISSAC2017), also in Kaiserslautern. Earlier meetings in the PASCO series (originally called Computer Algebra and Parallelism) include CAP'88 (Grenoble, France), CAP'90 (Ithaca, USA), PASCO'94 (Linz, Austria), PASCO'97 (Maui, U.S.A.), PASCO'07 (London, Canada), PASCO'10 (Grenoble, France) and PASCO'15 (Bath, UK). SUBMISSION INSTRUCTIONS The conference invites submission of papers presenting original research, either in the form of extended abstracts (2 pages) or full papers (up to 10 pages) in the two column ACM proceedings style at http://www.acm.org/sigs/publications/proceedings-templates Please use the ACM LaTeX2e Style File sig-alternate-05-2015.cls Papers are exclusively submitted via easy chair at https://easychair.org/conferences/?conf=pasco2017 Papers must be written in English. Papers must contain original research and may not duplicate work published or submitted for publication elsewhere. Papers will be reviewed by the Program Committee and external referees. All accepted papers will be distributed at PASCO 2017 and then published in the form of a formal proceedings in the ACM Digital Library (application pending). At least one author of each accepted paper must attend PASCO 2017 to present his or her paper. ORGANISING COMMITTEE General chair: Hans-Wolfgang Loidl, Heriot-Watt University, Edinburgh. Programme Committee chairs: Michael Monagan, Simon Fraser University, Canada Jean-Charles Faugere, INRIA (Paris-Rocquencourt Research Center) Local chairs: Claus Fieker and Wolfram Decker, Technical University of Kaiserslautern. Treasurer: Tommy Hofmann, Technical University of Kaiserslautern. Publicity chair: Alexander Konovalov, University of St Andrews. PROGRAMME COMMITTEE Russel Bradford University of Bath, England Jean-Guillaume Dumas Universite Grenoble, France Jean-Charles Faugere (co-chair) INRIA Paris-Rocquencourt, France Joachim von zur Gathen Universitaet Bonn, Germany Pascal Giorgi Universite Montpellier, France Jeremy Johnson Drexel University, USA Erich Kaltofen North Carolina State University, USA Herbert Kuchen University of Muenster, Germany Marc Moreno Maza Western University, Canada Michael Monagan (co-chair) Simon Fraser University, Canada Clement Pernet Universite Grenoble, France Daniel Roche US Naval Academy, Annapolis, USA Wolfgang Schreiner Johannes Kepler University, Linz, Austria Allan Steel University of Sydney, Australia Emmanuel Thome INRIA Nancy, France IMPORTANT DATES Abstract submission deadline: Monday 3rd April 2017 (23:59 PST). Paper submission deadline: Monday 10th April 2017 (23:59 PST). Notification of acceptance/rejection: Friday 26th May 2017. From markus.szymik at ntnu.no Mon Mar 13 08:40:36 2017 From: markus.szymik at ntnu.no (Markus Szymik) Date: Mon, 13 Mar 2017 08:40:36 +0000 Subject: [GAP Forum] a variant of Schur covers Message-ID: <41279FD3-984E-44F5-9D98-CB3BEE5080BD@ntnu.no> Dear GAP Forum I understand that GAP comes with two ways to construct Schur covers of a finite p--group G: via SchurCover( G ) or using the functions in the package 'cohomolo.' The result in either case is a central extension E of G with kernel isomorphic to H_2( G; ZZ ) or the p--part thereof. I would like to construct the central extension with kernel H_2( G; ZZ/p ) instead. To illustrate the difference: If the group G is of order 2, we have H_2 ( G; ZZ ) = 0, so that both ways produce E = G, whereas H_2 ( G; ZZ/2 ) = ZZ/2, and I would like to get E = ZZ/4 accordingly. Is there a simple way to achieve this in GAP? Thanks and all the best Markus From oxeimon at gmail.com Thu Mar 23 03:34:12 2017 From: oxeimon at gmail.com (Will Chen) Date: Wed, 22 Mar 2017 23:34:12 -0400 Subject: [GAP Forum] What's the best way of finding the exact isomorphism type of a group? Message-ID: Given a group G represented in GAP, the StructureDescription(G) tells you a nice description of it, but of course it doesn't give you all the information when G is a semidirect product or a nonsplit extension. In these cases, if it's for example a semidirect product, is there a built-in method of extracting the action of the quotient on the kernel? For example, SmallGroup(96,202) has description "(C2 x SL(2,3)) : C2" Its abelianization is C6 x C2. Is there an efficient way to determine which of its C2 quotients gives the semidirect product decomposition, and to determine the action of C2 on (C2 x SL(2,3))? I mean I could always iterate over all the possible quotients and the possible actions of C2 on the kernel and check to see which of them gives a group isomorphic to the original one, but this seems kind of annoying to do if I want to do this for many different groups. -- William Chen Member, School of Mathematics Institute for Advanced Study, Princeton, NJ, 08540 oxeimon at gmail.com From ghorvath at science.unideb.hu Thu Mar 23 12:24:24 2017 From: ghorvath at science.unideb.hu (Horvath Gabor) Date: Thu, 23 Mar 2017 13:24:24 +0100 (CET) Subject: [GAP Forum] What's the best way of finding the exact isomorphism type of a group? In-Reply-To: References: Message-ID: Dear Will, There will be more commands available for you in GAP 4.9, but even in GAP 4.8 you can do the following: gap> G := SmallGroup(96,202); gap> StructureDescription(G); "(C2 x SL(2,3)) : C2" gap> index2subgroups := [];; for N in NormalSubgroups(G) do if Index(G,N)=2 then AddSet(index2subgroups, N); fi; od; gap> index2subgroups; [ Group([ f1, f3, f4, f5, f6 ]), Group([ f2, f3, f4, f5, f6 ]), Group([ f1*f2*f6, f3, f4, f5, f6 ]) ] This contains all index 2 normal subgroups. Now, the first two are isomorphic to C2xSL(2,3): gap> List(index2subgroups, StructureDescription); [ "C2 x SL(2,3)", "C2 x SL(2,3)", "SL(2,3) : C2" ] Take the first one for example, it decomposes into direct product the following way: gap> A := index2subgroups[1];; gap> DirectFactorsOfGroup(A); [ Group([ f1 ]), Group([ f3, f4, f5, f6 ]) ] gap> Order(A.1); 2 That is, the first generator gives the C2 part, the other four generators give SL(2,3). Let us find a complement to A: gap> comp := ComplementClassesRepresentatives(G,A);; gap> if comp <>[] then B := comp[1]; fi; gap> B; For the action you can take e.g. the image of B in the automorphism group of A: gap> AutA := AutomorphismGroup(A); gap> GofA := GeneratorsOfGroup(A); [ f1, f3, f4, f5, f6 ] gap> H := Subgroup(AutA, List(B, g ->> > GroupHomomorphismByImages(A, A, GofA, List(GofA, pnt -> pnt^g)))); gap> Size(H); 2 gap> H.1; [ f1, f3, f4, f5, f6 ] -> [ f1, f3, f4, f5, f6 ] gap> H.2; [ f1, f3, f4, f5, f6 ] -> [ f1*f6, f3, f4, f5, f6 ] gap> Order(H.2); 2 gap> A.1^H.2; f1*f6 Thus, H.1 is the identity automorphism, but H.2 gives an order two automorphism that moves f1 to f1*f6. Hope this helps. Best, Gabor On Wed, 22 Mar 2017, Will Chen wrote: > Given a group G represented in GAP, the StructureDescription(G) tells you a > nice description of it, but of course it doesn't give you all the > information when G is a semidirect product or a nonsplit extension. > > In these cases, if it's for example a semidirect product, is there a > built-in method of extracting the action of the quotient on the kernel? > > For example, SmallGroup(96,202) has description "(C2 x SL(2,3)) : C2" > > Its abelianization is C6 x C2. Is there an efficient way to determine which > of its C2 quotients gives the semidirect product decomposition, and to > determine the action of C2 on (C2 x SL(2,3))? > > I mean I could always iterate over all the possible quotients and the > possible actions of C2 on the kernel and check to see which of them gives a > group isomorphic to the original one, but this seems kind of annoying to do > if I want to do this for many different groups. > > -- > > William Chen > Member, School of Mathematics > Institute for Advanced Study, > Princeton, NJ, 08540 > oxeimon at gmail.com > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > Horvath Gabor ------------------------------------------------------------------------------- e-mail: ghorvath at science.unideb.hu phone: +36 52 512900 / 22798 web: http://www.math.unideb.hu/horvath-gabor From tvonp at gmx.net Mon Mar 27 09:52:39 2017 From: tvonp at gmx.net (Timm von Puttkamer) Date: Mon, 27 Mar 2017 10:52:39 +0200 Subject: [GAP Forum] Storing additional data Message-ID: <517bfaed-c322-f2f6-ba5b-0ac89c620e04@gmx.net> Dear all, I have defined some numeric invariant for a group whose value I would like to save for each finite group in the SmallGroups library so that I do not have to compute it over and over again. Is there a preferred way to do this in GAP? My first idea was to set up some database, e.g. SQLite, but it seems GAP does not offer any SQL database interface directly. Of course I could use text files, but I want to be able to quickly select groups with specific values of the invariant and I wish not to reinvent basic database functionality. Kind regards, Timm From alexander.konovalov at st-andrews.ac.uk Fri Mar 31 07:38:25 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Fri, 31 Mar 2017 06:38:25 +0000 Subject: [GAP Forum] GAP 4.8.7 release announcement Message-ID: <74A55817-B32E-465A-A2C7-9EA839B871B0@st-andrews.ac.uk> Dear GAP Forum, This is to announce the release of GAP 4.8.7, which could be downloaded from http://www.gap-system.org/Releases/ The only two changes in the core GAP system made in this release are: * Fixed regression from GAP 4.7.6 when reading compressed files after a workspace is loaded. Before the fix, if GAP is started with the -L option (load workspace), using ReadLine on the input stream for a compressed file returned by InputTextFile only returned the first character. [Reported by Bill Allombert] * Fixed compiler warning occurring when GAP is compiled with gcc 6.2.0. [Reported by Bill Allombert] For the corresponding changes in the source code, see the GAP 4.8.7 milestone on GitHub: https://github.com/gap-system/gap/milestone/13?closed=1 Furthermore, GAP 4.8.7 distribution includes updates for 21 GAP package: AutoDoc | 2016.12.04 | 04/12/2016 AutPGrp | 1.8 | 25/11/2016 Digraphs | 0.7.1 | 22/03/2017 Example | 3.5.1 | 04/02/2017 FactInt | 1.5.4 | 13/02/2017 float | 0.7.5 | 18/02/2017 FR | 2.4.1 | 09/02/2017 gpd | 1.46 | 21/02/2017 HAP | 1.11.15 | 21/02/2017 HeLP | 3.1 | 12/01/2017 kbmag | 1.5.4 | 01/02/2017 OpenMath | 11.4.2 | 28/02/2017 profiling | 1.3.0 | 23/02/2017 qaos | 1.4 | 15/11/2016 RCWA | 4.5.1 | 13/03/2017 ResClasses | 4.6.0 | 12/02/2017 SCSCP | 2.2.2 | 28/02/2017 Toric | 1.9.4 | 07/03/2017 Utils | 0.46 | 08/02/2017 XMod | 2.59 | 21/03/2017 and a new package 'lpres' (author: Ren? Hartung, maintainer: Laurent Bartholdi) to work with L-presented groups, namely groups given by a finite generating set and a possibly infinite set of relations given as iterates of finitely many seed relations by a finite set of endomorphisms. The package implements nilpotent quotient, Todd-Coxeter and Reidemeister-Schreier algorithms for such groups. We encourage all users to upgrade to GAP 4.8.7. Just in case, a common pitfall during GAP installation on Linux and macOS is to compile only the GAP kernel, but not the packages. This procedure had changed less than a year ago (in GAP 4.8.4), so let me remind you that after running ./configure make in the GAP root directory you need to change to the 'pkg' subdirectory and call ../bin/BuildPackages.sh to run the script which will build most of the packages that require compilation (provided sufficiently many libraries, headers and tools are available). If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org, or submit new issues on GitHub: https://github.com/gap-system/gap/issues There is also a 'gap' tag for questions about GAP at the Mathematics Q&A site: http://math.stackexchange.com/tags/gap/info In addition, you may find some GAP related news on Twitter: http://twitter.com/gap_system (you may also read the GAP Twitter feed at http://www.gap-system.org). Wishing you fun and success using GAP, Alexander Konovalov on behalf of the GAP Group From dk2572 at nyu.edu Sun Apr 2 15:02:29 2017 From: dk2572 at nyu.edu (Delaram Kahrobaei) Date: Sun, 2 Apr 2017 10:02:29 -0400 Subject: [GAP Forum] =?utf-8?q?Computations_in_Groups_and_Applications_in_?= =?utf-8?b?TW9udHLDqWFs?= Message-ID: Dear colleagues, We are organizing a special session on "Computations in Groups and Applications" in Montr?al [link ] as part of the "Mathematical Congress of Americas" MCA 2017 [link ] in July 24-28, 2017. The registration is now open. Organizers: Inna Bumagina, Delaram Kahrobaei Many thanks and hope to see you there! -- Delaram Kahrobaei, PhD Doctoral Faculty, PhD Program in Computer Science (CUNY Graduate Center) Professor of Computer Science (Adjunct), New York University Professor of Mathematics (City University of New York) Director, C-LAC (Center for Logic, Algebra, Computation) Founder of NY Women in Math & CS Network https://wfs.gc.cuny.edu/DKahrobaei/www/ From r_n_tsai at yahoo.com Sun Apr 2 22:40:10 2017 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Sun, 2 Apr 2017 21:40:10 +0000 (UTC) Subject: [GAP Forum] extending database in SLA package References: <71026876.3175145.1491169210070.ref@mail.yahoo.com> Message-ID: <71026876.3175145.1491169210070@mail.yahoo.com> Dear GAP forum, I'm using Willem de Graaf's SLA package to study lie algebras and their sublagebras.I know that ?the package includes a precomputed database listed here : gap> SSSTypes();[ "A1", "A2", "B2", "G2", "A3", "B3", "C3", "A4", "B4", "C4", "D4", "F4", "A5", "B5", "C5", "D5", "A6", "B6", "C6",?? "D6", "E6", "A7", "B7", "C7", "D7", "E7", "A8", "B8", "C8", "D8", "E8" ] but I'd like to look at other (larger) algebras that are not in the database. ?I tried : gap> r:=LieAlgebraAndSubalgebras("C9");; but I got an error :?Error, The database does not contain a Lie algebra of type C9 called from( )?called from read-eval loop at line 47 of *stdin*you can 'quit;' to quit to outer loop, oryou can 'return;' to continue Assuming I have the compute resources, how do I work with larger algebras? Thanks,R.N. From luca.giuzzi at unibs.it Mon Apr 3 15:47:39 2017 From: luca.giuzzi at unibs.it (Luca Giuzzi) Date: Mon, 3 Apr 2017 16:47:39 +0200 Subject: [GAP Forum] HPC gap Message-ID: Dear Forum, is there any way to compile HPC gap on a PPC64 (little endian) architecture? I have seen that luajit-2.0 (which is used by ward) has not been ported to this architecture (nor is luajit-2.1 yet). I suppose it might be possible to preprocess the source files of gap on a different host, but I would like to ask whether: a) this would actually be possible and/or there is a "sort of a procedure" b) there might be other unexpected "issues" to expect with hpc gap e.g. with the garbage collector given that the architecture is unsupported. Incidentally, gap 4.8.6 (soon to be updated to 4.8.7) works nicely on that machine and apparently without problem, at least for the kind of computations I am interested in. Best, luca From dk2572 at nyu.edu Mon Apr 3 16:03:53 2017 From: dk2572 at nyu.edu (Delaram Kahrobaei) Date: Mon, 3 Apr 2017 11:03:53 -0400 Subject: [GAP Forum] Infinite Permutation Groups and Geometric Group Theory at CUNY Message-ID: Dear Colleague, We are organizing a "Special Session on *Infinite Permutation Groups, Totally Disconnected Locally Compact Groups, and Geometric Group Theory*" part of the American Mathematical Society Eastern meeting at the City University of New York, May 6-7, 2017. The program has been announced below: http://www.ams.org/meetings/sectional/2242_program_ss4.html Registration is now open. Organizers: Delaram Kahrobaei, Simon Smith -- Delaram Kahrobaei, PhD Professor of Computer Science, New York University [Adjunct] Doctoral Faculty, PhD Program in Computer Science (CUNY Graduate Center) Professor of Mathematics (City University of New York) Director, C-LAC (Center for Logic, Algebra, Computation) Founder of NY Women in Math & CS Network https://sites.google.com/a/nyu.edu/delaram-kahrobaei/ From alexander.konovalov at st-andrews.ac.uk Tue Apr 4 00:26:01 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 3 Apr 2017 23:26:01 +0000 Subject: [GAP Forum] Storing additional data In-Reply-To: <517bfaed-c322-f2f6-ba5b-0ac89c620e04@gmx.net> References: <517bfaed-c322-f2f6-ba5b-0ac89c620e04@gmx.net> Message-ID: <5860F59E-152B-431D-9E9A-E637FA1CA9D9@st-andrews.ac.uk> Dear Timm, dear GAP Forum, > On 27 Mar 2017, at 09:52, Timm von Puttkamer wrote: > > Dear all, > > I have defined some numeric invariant for a group whose value I would like to save for each finite group in the SmallGroups library so that I do not have to compute it over and over again. Is there a preferred way to do this in GAP? My first idea was to set up some database, e.g. SQLite, but it seems GAP does not offer any SQL database interface directly. Of course I could use text files, but I want to be able to quickly select groups with specific values of the invariant and I wish not to reinvent basic database functionality. > > Kind regards, > Timm What about the following example, which uses lists to store data, and relies on the fact that i-th entry of the list for groups of order n is the value of the parameter for SmallGroup(n,i) ? Consider the function that returns an average order of the element of a group (this function is taken from the GAP Software Carpentry lesson at http://alex-konovalov.github.io/gap-lesson/): gap> AvgOrd:=function(G) return Sum(List(G,Order))/Size(G); end; function( G ) ... end Now we will compute lists of its values for groups, for example, of orders 8 and 105: gap> d8:=List(AllSmallGroups(8),AvgOrd); [ 43/8, 23/8, 19/8, 27/8, 15/8 ] gap> d105:=List(AllSmallGroups(105),AvgOrd); [ 17, 301/5 ] Then we will store them in a global record, where the names of component correspond to the order of the group: gap> AVG_ORD_DB:=rec( (8):= d8, (105):= d105); rec( 105 := [ 17, 301/5 ], 8 := [ 43/8, 23/8, 19/8, 27/8, 15/8 ] ) Finally, the function `AvgOrdById` will retrieve the value of the parameter from this record, based on the IdGroup(G): gap> AvgOrdById:=function(G) return AVG_ORD_DB.(IdGroup(G)[1])[IdGroup(G)[2]]; end; function( G ) ... end Now you can use it as follows: gap> AllSmallGroups(8, g -> AvgOrdById(g)>3 ); [ , ] gap> AllSmallGroups(105, g -> IsInt( AvgOrdById(g) ) ); [ ] Of course, in this case AvgOrd computes the result quite fast and perhaps it's not worth efforts to create such "database" but I presume that in your case the calculation could be much more expensive, so it may be worth efforts. Further extensions could be: - triggering an error in `AvgOrdById` in case the data for a given order are not available - automation of adding further data to AVG_ORD_DB - splitting AVG_ORD_DB record into multiple files and reading (or unbinding) its components on demand - storing values of parameters retrieved from the database as attributes in groups (so next time one does not even need to perform the lookup for the same object again), etc. I hope that this approach would not only nicely fit into selecting groups with AllSmallGroups, but will also protect from accidental mix-up of using another parameter or a list of parameters for a different order. It will also work for any group for which IdGroup works, although it may be slower - however, groups from the Small Groups Library would already have their IdGroup stored in them, so in this case there will be no overhead. Hope this helps Alexander From dk2572 at nyu.edu Tue Apr 4 15:09:22 2017 From: dk2572 at nyu.edu (Delaram Kahrobaei) Date: Tue, 4 Apr 2017 10:09:22 -0400 Subject: [GAP Forum] (Group-based) Cryptography Special Session in New York Message-ID: Dear colleagues, There will be an AMS special session on Cryptography which mostly contains group-based cryptography talks in New York in May. The schedule is below and registration is now open. http://www.ams.org/meetings/sectional/2242_program_ss3.html#title Delaram Kahrobaei, PhD Professor of Computer Science, New York University [Adjunct] Doctoral Faculty, PhD Program in Computer Science (CUNY Graduate Center) Professor of Mathematics (City University of New York) Director, C-LAC (Center for Logic, Algebra, Computation) Founder of NY Women in Math & CS Network https://sites.google.com/a/nyu.edu/delaram-kahrobaei/ Sent from the Streets of New York From alexander.konovalov at st-andrews.ac.uk Wed Apr 12 13:38:55 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 12 Apr 2017 12:38:55 +0000 Subject: [GAP Forum] Extended deadlines for PASCO 2017 (8th International Workshop on Parallel Symbolic Computation) Message-ID: Dear all, Please find below the Call for Papers for PASCO 2017: 8th International Workshop on Parallel and Symbolic Computation Note that the deadlines have been extended to: Abstract due Monday April 24th (23:59 PST). Papers due Sunday April 30th (23:59 PST). Decisions to authors Wednesday May 31st (23:59 PST). Final papers due Wednesday June 21st (23:59 PST). Best regards, Alexander ================================================================= CALL FOR PAPERS PASCO 2017 8th International Workshop on Parallel and Symbolic Computation Technical University of Kaiserslautern, Germany, July 23-24, 2017 http://sigsam.org/PASCO/2017/ The International Workshop on Parallel and Symbolic Computation (PASCO) is a series of workshops dedicated to the promotion and advancement of parallel algorithms and software in all areas of mathematical computation. CONFERENCE TOPICS All topics covered traditionally by PASCO including: * Design and analysis of parallel algorithms for computer algebra * Practical parallel implementation of symbolic or symbolic-numeric algorithms * Design of high-performance algebraic packages and systems * Data representation and distributed data-structures * Considerations for modern hardware and hardware acceleration technologies (multi-cores, GPUs, FPGAs) * Cache complexity and cache-oblivious algorithms for computer algebra * Parallel implementations of computer algebra algorithms on GPUs * Parallel algorithm implementation and performance tuning * Compile-time and run-time techniques for automating optimization and platform adaptation of computer algebra algorithms * Applications of high-performance computer algebra in theorem proving, cryptography, computational biology, number theory, group theory, satisfiability checking, SAT solving, etc. PASCO 2017 is affiliated with and immediately precedes the 2017 International Symposium on Symbolic and Algebraic Computation (ISSAC2017), also in Kaiserslautern. Earlier meetings in the PASCO series (originally called Computer Algebra and Parallelism) include CAP'88 (Grenoble, France), CAP'90 (Ithaca, USA), PASCO'94 (Linz, Austria), PASCO'97 (Maui, U.S.A.), PASCO'07 (London, Canada), PASCO'10 (Grenoble, France) and PASCO'15 (Bath, UK). SUBMISSION INSTRUCTIONS The conference invites submission of papers presenting original research, either in the form of extended abstracts (2 pages) or full papers (up to 10 pages). Please use the ACM Master Article template style file (two column) available here: http://www.acm.org/publications/proceedings-template Papers are exclusively submitted via easy chair at https://easychair.org/conferences/?conf=pasco2017 Papers must be written in English. Papers must contain original research and may not duplicate work published or submitted for publication elsewhere. Papers will be reviewed by the Program Committee and external referees. All accepted papers will be distributed at PASCO 2017. Publication in the form of a formal proceedings is planned through the ACM Digital Library (application pending). At least one author of each accepted paper must attend PASCO 2017 to present his or her paper. ORGANISING COMMITTEE General chair: Hans-Wolfgang Loidl, Heriot-Watt University, Edinburgh. Programme Committee chairs: Michael Monagan, Simon Fraser University, Canada Jean-Charles Faugere, INRIA (Paris-Rocquencourt Research Center) Local chairs: Claus Fieker and Wolfram Decker, Technical University of Kaiserslautern. Treasurer: Tommy Hofmann, Technical University of Kaiserslautern. Publicity chair: Alexander Konovalov, University of St Andrews. PROGRAMME COMMITTEE Russel Bradford University of Bath, England Jean-Guillaume Dumas Universite Grenoble, France Jean-Charles Faugere (co-chair) INRIA Paris-Rocquencourt, France Joachim von zur Gathen Universitaet Bonn, Germany Pascal Giorgi Universite Montpellier, France Jeremy Johnson Drexel University, USA Erich Kaltofen North Carolina State University, USA Herbert Kuchen University of Muenster, Germany Marc Moreno Maza Western University, Canada Michael Monagan (co-chair) Simon Fraser University, Canada Clement Pernet Universite Grenoble, France Daniel Roche US Naval Academy, Annapolis, USA Wolfgang Schreiner Johannes Kepler University, Linz, Austria Allan Steel University of Sydney, Australia Emmanuel Thome INRIA Nancy, France IMPORTANT DATES Abstract due Monday April 24th (23:59 PST). Papers due Sunday April 30th (23:59 PST). Decisions to authors Wednesday May 31st (23:59 PST). Final papers due Wednesday June 21st (23:59 PST). ================================================================= From oxeimon at gmail.com Sat Apr 22 00:35:14 2017 From: oxeimon at gmail.com (Will Chen) Date: Fri, 21 Apr 2017 19:35:14 -0400 Subject: [GAP Forum] Does every finite group have a built-in total ordering? Message-ID: Dear GAP Forum, I've been writing code that given a finite group G, computes actions on the set of conjugacy classes of generating pairs of G. To implement this action I've been working with "minimum representatives" of each conjugacy class - ie, given a generating pair (g,h) of G, I instead will work with the pair (g',h'), defined as follows: g' := Minimum(List(ConjugacyClass(G,g))); t := RepresentativeAction(G,g,g'); C := Centralizer(G,g); h' := Minimum(List(Orbit(C,h^t))); Thus, (g',h') is the "minimum" element of the conjugacy class of (g,h), under the lexicographic ordering built on the internal ordering on G which is used by the function "Minimum". I've built a bunch of sanity checks into my code, and so far there hasn't been any issues, but I wonder - is it possible that I've just been lucky? (I've tried using "safer" implementations of the action, but they generally run slower than just operating on minimum objects as defined above - unless anyone has any ideas?) In other words, given a finite group G represented in GAP, is G guaranteed to have an immutable total ordering which "Minimum" is always guaranteed to use when called via "Minimum(List(X))" where X is a subset of G? - Will -- William Chen Member, School of Mathematics Institute for Advanced Study, Princeton, NJ, 08540 oxeimon at gmail.com From Alexander.Hulpke at colostate.edu Sat Apr 22 15:51:56 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 22 Apr 2017 14:51:56 +0000 Subject: [GAP Forum] Does every finite group have a built-in total ordering? In-Reply-To: References: Message-ID: Dear Will, Dear Forum, In other words, given a finite group G represented in GAP, is G guaranteed to have an immutable total ordering which "Minimum" is always guaranteed to use when called via "Minimum(List(X))" where X is a subset of G? The intention is that all classes of objects (group elements, polynomials, finite field elements) provide a total order, via the `<` operator. This comparison is not dependent on the representation, that is subgroups compare the same regardless of the generating set. (In general groups, cosets etc. compare the same as their sorted element lists would.) This is the order used by `Minimum`, thus what you are doing will work. Caveats: 1) This order is not guaranteed to be the one every user would consider ``natural?? (e.g. the natural ordering on the elements of the field with 11 elements is gap> List(Elements(GF(11)),Int); [ 0, 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 ] ) but may dependent on internal workings or even arbitrary internal choices. (It is obviously the natural order for rationals, but will *not* be so for real irrationals!) 2) In some situations (say cosets of a subgroup of a finitely presented group) calculation of the order can be extremely costly. 3) The order is only guaranteed to be stable within classes of objects that GAP can compare for equality. If you create A5 twice as finitely presented group with the same presentation, the order might be different. It also is not guaranteed to be stable between different GAP sessions (So depending o the kind of objects you may not be able to store minimal elements.) This issue is irrelevant for permutations. 4) The availability of such an order is a policy but not policed automatically by the type system, but relies on the implementor. You *can* implement a class of objects that are group elements for which `<` does not work, but that should not be the case for objects provided in the library. All the best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From oxeimon at gmail.com Sun Apr 23 00:47:49 2017 From: oxeimon at gmail.com (Will Chen) Date: Sat, 22 Apr 2017 19:47:49 -0400 Subject: [GAP Forum] Does every finite group have a built-in total ordering? In-Reply-To: References: Message-ID: Thanks for your answer! When you say "it also is not guaranteed to be stable between different GAP sessions", do you mean that if I use "SaveWorkspace", and later load the saved workspace, the ordering may have changed? (Ie, a stored minimal element may no longer be minimal upon loading the saved workspace?) On Sat, Apr 22, 2017 at 10:51 AM, Hulpke,Alexander < Alexander.Hulpke at colostate.edu> wrote: > Dear Will, Dear Forum, > > In other words, given a finite group G represented in GAP, is G guaranteed > to have an immutable total ordering which "Minimum" is always guaranteed to > use when called via "Minimum(List(X))" where X is a subset of G? > > > The intention is that all classes of objects (group elements, polynomials, > finite field elements) provide a total order, via the `<` operator. This > comparison is not dependent on the representation, that is subgroups > compare the same regardless of the generating set. (In general groups, > cosets etc. compare the same as their sorted element lists would.) > This is the order used by `Minimum`, thus what you are doing will work. > > Caveats: > > 1) This order is not guaranteed to be the one every user would consider > ``natural?? (e.g. the natural ordering on the elements of the field with 11 > elements is > > gap> List(Elements(GF(11)),Int); > [ 0, 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 ] > > ) but may dependent on internal workings or even arbitrary internal > choices. (It is obviously the natural order for rationals, but will *not* > be so for real irrationals!) > > 2) In some situations (say cosets of a subgroup of a finitely presented > group) calculation of the order can be extremely costly. > > 3) The order is only guaranteed to be stable within classes of objects > that GAP can compare for equality. If you create A5 twice as finitely > presented group with the same presentation, the order might be different. > It also is not guaranteed to be stable between different GAP sessions (So > depending o the kind of objects you may not be able to store minimal > elements.) > This issue is irrelevant for permutations. > > 4) The availability of such an order is a policy but not policed > automatically by the type system, but relies on the implementor. You *can* > implement a class of objects that are group elements for which `<` does not > work, but that should not be the case for objects provided in the library. > > All the best, > > Alexander Hulpke > > -- Colorado State University, Department of Mathematics, > Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA > email: hulpke at colostate.edu, Phone: ++1-970-4914288 <(970)%20491-4288> > http://www.math.colostate.edu/~hulpke > > > -- William Chen Member, School of Mathematics Institute for Advanced Study, Princeton, NJ, 08540 oxeimon at gmail.com From hulpke at fastmail.fm Sun Apr 23 01:19:55 2017 From: hulpke at fastmail.fm (Alexander Hulpke) Date: Sat, 22 Apr 2017 18:19:55 -0600 Subject: [GAP Forum] Does every finite group have a built-in total ordering? In-Reply-To: References: Message-ID: <6BF1B10E-53AB-4626-9CDB-CB183890DA2E@fastmail.fm> > On Apr 22, 2017, at 5:47 PM, Will Chen > wrote: > > Thanks for your answer! > > When you say "it also is not guaranteed to be stable between different GAP sessions", do you mean that if I use "SaveWorkspace", and later load the saved workspace, the ordering may have changed? (Ie, a stored minimal element may no longer be minimal upon loading the saved workspace?) A saved workspace is like the same session, so there it is guaranteed. A. > > On Sat, Apr 22, 2017 at 10:51 AM, Hulpke,Alexander > wrote: > Dear Will, Dear Forum, > >> In other words, given a finite group G represented in GAP, is G guaranteed >> to have an immutable total ordering which "Minimum" is always guaranteed to >> use when called via "Minimum(List(X))" where X is a subset of G? > > The intention is that all classes of objects (group elements, polynomials, finite field elements) provide a total order, via the `<` operator. This comparison is not dependent on the representation, that is subgroups compare the same regardless of the generating set. (In general groups, cosets etc. compare the same as their sorted element lists would.) > This is the order used by `Minimum`, thus what you are doing will work. > > Caveats: > > 1) This order is not guaranteed to be the one every user would consider ``natural?? (e.g. the natural ordering on the elements of the field with 11 elements is > > gap> List(Elements(GF(11)),Int); > [ 0, 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 ] > > ) but may dependent on internal workings or even arbitrary internal choices. (It is obviously the natural order for rationals, but will *not* be so for real irrationals!) > > 2) In some situations (say cosets of a subgroup of a finitely presented group) calculation of the order can be extremely costly. > > 3) The order is only guaranteed to be stable within classes of objects that GAP can compare for equality. If you create A5 twice as finitely presented group with the same presentation, the order might be different. It also is not guaranteed to be stable between different GAP sessions (So depending o the kind of objects you may not be able to store minimal elements.) > This issue is irrelevant for permutations. > > 4) The availability of such an order is a policy but not policed automatically by the type system, but relies on the implementor. You *can* implement a class of objects that are group elements for which `<` does not work, but that should not be the case for objects provided in the library. > > All the best, > > Alexander Hulpke > > -- Colorado State University, Department of Mathematics, > Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA > email: hulpke at colostate.edu , Phone: ++1-970-4914288 > http://www.math.colostate.edu/~hulpke > > > > > > -- > > William Chen > Member, School of Mathematics > Institute for Advanced Study, > Princeton, NJ, 08540 > oxeimon at gmail.com From graham.ellis at nuigalway.ie Wed Apr 26 19:50:30 2017 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Wed, 26 Apr 2017 18:50:30 +0000 Subject: [GAP Forum] Jobs at Galway In-Reply-To: References: Message-ID: The School of Maths at NUI Galway, Ireland is seeking a lecturer in Mathematics for the period 1 September 2017 to 31 August 2019. The closing date for applications is May 18th. Details of the job and the application procedure can be found under "academic vacancies" at https://www.nuigalway.ie/about-us/jobs/ Later this summer, after formal approval, there will be an advertisement for a permanent position too, with a start date of January 2018 or as soon as possible thereafter. Both jobs are in pure maths (which for us certainly includes vaguely applied things like applied topology, computational algebra) and there is nothing to stop a successful candidate for the temporary position then later applying for the permanent position. Feel free to contact me if you have any questions. All the best, Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 From graham.ellis at nuigalway.ie Thu Apr 27 10:40:23 2017 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Thu, 27 Apr 2017 09:40:23 +0000 Subject: [GAP Forum] Jobs at Galway In-Reply-To: References: , Message-ID: Dear All, I've been asked to clarify that we are only advertising a two-year position at present. Notification of any further job opportunities that might arise will issue in due course. Best, Graham ________________________________________ From: forum-bounces at gap-system.org [forum-bounces at gap-system.org] on behalf of Ellis, Grahamj [graham.ellis at nuigalway.ie] Sent: Wednesday, April 26, 2017 7:50 PM To: forum at gap-system.org Subject: [GAP Forum] Jobs at Galway [This sender failed our fraud detection checks and may not be who they appear to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing] The School of Maths at NUI Galway, Ireland is seeking a lecturer in Mathematics for the period 1 September 2017 to 31 August 2019. The closing date for applications is May 18th. Details of the job and the application procedure can be found under "academic vacancies" at https://www.nuigalway.ie/about-us/jobs/ Later this summer, after formal approval, there will be an advertisement for a permanent position too, with a start date of January 2018 or as soon as possible thereafter. Both jobs are in pure maths (which for us certainly includes vaguely applied things like applied topology, computational algebra) and there is nothing to stop a successful candidate for the temporary position then later applying for the permanent position. Feel free to contact me if you have any questions. All the best, Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From colva.roney-dougal at st-andrews.ac.uk Fri Apr 28 09:21:05 2017 From: colva.roney-dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Fri, 28 Apr 2017 10:21:05 +0200 Subject: [GAP Forum] More information about Groups St Andrews 2017 in Birmingham Message-ID: <0E82DC84-B43A-4A31-9939-8D6F71012B99@st-andrews.ac.uk> Dear Forum, The organizers of Groups St Andrews 2017 in Birmingham have the following further information (also found on the conference website). The majority of this information has already been circulated to those who requested to be kept updated. 1. We would first like to remind you that registration for the conference is open and, in particular, Early Bird Registration remains open until the 1st May. (See http://www.groupsstandrews.org/2017/register.shtml for details) 2. We are pleased to announce that the majority of the talk titles for the invited speakers are now available: Main Speakers: Michael Aschbacher (Caltech) - Finite simple groups and fusion systems Pierre-Emmanuel Caprace (Universit? Catholique de Louvain) - Locally compact groups beyond Lie theory Radha Kessar (City, University of London) - On characters and p-blocks of finite simple groups Gunter Malle (TU Kaiserslautern) - Local-global conjectures One-Hour Speakers: Tim Burness (University of Bristol) - Simple groups, generation and probabilistic methods Vincent Guirardel (Universit? de Rennes 1) - tba Harald Helfgott (University of G?ttingen) - The diameter of the symmetric group: ideas and tools Andrei Jaikin-Zapirain (Universidad Aut?noma de Madrid) - On l2-Betti numbers and their analogues in positive characteristic Donna Testerman (?cole Polytechnique F?d?rale de Lausanne) - Representations and subgroup structure of simple algebraic groups Abstracts are available on the conference website (http://www.groupsstandrews.org/2017/abstracts.shtml) 3. We are now ready to receive information about contributed talks. If you would like to give a talk at the conference, please complete the template found on the website and email it to us at the conference address (groups2017 at mcs.st-andrews.ac.uk). The template can be found (together with a little more information) at: http://www.groupsstandrews.org/2017/talks.shtml The deadline for submitting a talk title to us is: 1st July. 4. As with previous Groups St Andrews conferences, we expect to be publishing a volume of proceedings containing articles written by the invited speakers together with survey articles contributed by delegates. Information on contributing survey articles is also found on the website (http://www.groupsstandrews.org/2017/proceedings.shtml). The deadline for submitting an survey article for the proceedings is 18th August. Feel free to contact the conference organizers if you would like to discuss a possible article to contribute to the proceedings. We hope to see you in Birmingham in August. The conference organizers: Colin Campbell, Chris Parker, Martyn Quick, Edmund Robertson & Colva Roney-Dougal ************************************* Colva Roney-Dougal Reader in Pure Mathematics Director of the Centre for Interdisciplinary Research in Computational Algebra Editor of Proceedings A of the Royal Society of Edinburgh Editor of Royal Society Open Science President of the Mathematical Sciences Section of the British Science Association Director of Undergraduate Mathematics Admissions The University of St Andrews is a charity registered in Scotland : No SC013532 From watsonbladd at gmail.com Tue May 2 19:59:17 2017 From: watsonbladd at gmail.com (Watson Ladd) Date: Tue, 2 May 2017 11:59:17 -0700 Subject: [GAP Forum] Creating Sp(4, Z/2^nZ) Message-ID: Dear all, I am interested in a problem about the lifting of mod p-representations to p-adic representations. To do this I want to construct the group Sp(4, Z/2^nZ) for some small values of n in GAP along with the reduction homomorphisms. If I knew generators this would be easy, but I don't. Does anyone have ideas for what to do? Also, if there are any books I should look at for the theory that would be useful: I don't know much about this area yet as I got thrust into it by research demands. Sincerely, Watson From Alexander.Hulpke at colostate.edu Tue May 2 20:57:03 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Tue, 2 May 2017 19:57:03 +0000 Subject: [GAP Forum] Creating Sp(4, Z/2^nZ) In-Reply-To: References: Message-ID: Dear Forum, Dear Watson Ladd, > I am interested in a problem about the lifting of mod > p-representations to p-adic representations. To do this I want to > construct the group Sp(4, Z/2^nZ) for some small > values of n in GAP along with the reduction homomorphisms. For example: gap> g:=SP(4,Integers mod 32); Sp(4,Z/32Z) gap> gens:=GeneratorsOfGroup(g);; gap> geni:=List(gens,m->List(m,r->List(r,Int)));; # generators as Z matrices gap> geni:=List(gens,m->List(m,r->List(r,Int)))*Z(2); # move to GF(2) gap> h:=Group(geni); gap> hom:=GroupHomomorphismByImagesNC(g,h,gens,geni); (note that the last command will take a bit.) > If I knew generators this would be easy, but I don't. Does anyone have > ideas for what to do? Also, if there are any books I should look at > for the theory that would be useful: I don't know much about this area > yet as I got thrust into it by research demands. May I plug my paper ``Computing generators of groups preserving a bilinear form over residue class rings??, J.Symb.Comp, 50 (2013), 298-307. DOI 10.1016/j.jsc.2012.08.002 Concerning the structure of these groups, you also might find theorem 2.5 in the joint paper https://arxiv.org/abs/1611.05921 (to appear in Math.Comp.) useful. Best wishes, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From alexander.bors at sbg.ac.at Wed May 3 12:35:38 2017 From: alexander.bors at sbg.ac.at (Bors Alexander) Date: Wed, 3 May 2017 11:35:38 +0000 Subject: [GAP Forum] Frobenius normal form (explicit change of basis) Message-ID: <357A53712CAE534B87C05C36985AF0EAB7B3A430@xchmbx2.is.sbg.ac.at> Dear GAP Forum, I am looking for a function that takes as input a square matrix M over a finite field k and outputs a regular matrix T over k, of the same dimension as M, such that TMT^(-1) is in Frobenius normal form (aka rational canonical form). Is there a simple way to construct such a function from GAP's built-in functions? I am aware that the Frobenius normal form of M per se (i.e., the elementary divisors of M) can be determined by computing the Smith normal form of the matrix M-X*Id (X an indeterminate) and that GAP's function ElementaryDivisorsTransformationsMat can be used to find corresponding left and right transformation matrices P,Q over k[X]. Unfortunately, I don't see how, if at all, P and Q relate to T. Thank you in advance, Alexander From Alexander.Hulpke at colostate.edu Wed May 3 18:40:14 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Wed, 3 May 2017 17:40:14 +0000 Subject: [GAP Forum] Frobenius normal form (explicit change of basis) In-Reply-To: <357A53712CAE534B87C05C36985AF0EAB7B3A430@xchmbx2.is.sbg.ac.at> References: <357A53712CAE534B87C05C36985AF0EAB7B3A430@xchmbx2.is.sbg.ac.at> Message-ID: <2CA7D01C-F2EC-4DCB-9A9B-74B6D1B8DA26@colostate.edu> Dear Forum, Dear Alexander > I am looking for a function that takes as input a square matrix M over a finite field k and outputs a regular matrix T over k, of the same dimension as M, such that TMT^(-1) is in Frobenius normal form (aka rational canonical form). Is there a simple way to construct such a function from GAP's built-in functions? As long as only basic (not guaranteed to be particular efficient) functionality is required, this can be added reasonably easily to GAP. In name-based favoritism, I have put together such a routine RationalCanonicalFormTransform (which will return the transforming matrix T such that T^-1MT is RCF), it is located at https://www.dropbox.com/s/xm5713mdif00gyd/rcft.g?dl=0 and needs to be read in with `Reread` as it overwrites a library function. It implements the basic algorithm (as described in chapter 12.2 of Dummit&Foote) and will thus not be as efficient as it could be theoretically. Hope this helps, Alexander -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From Bill.Allombert at math.u-bordeaux.fr Thu May 4 10:35:20 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 4 May 2017 11:35:20 +0200 Subject: [GAP Forum] Frobenius normal form (explicit change of basis) In-Reply-To: <2CA7D01C-F2EC-4DCB-9A9B-74B6D1B8DA26@colostate.edu> References: <357A53712CAE534B87C05C36985AF0EAB7B3A430@xchmbx2.is.sbg.ac.at> <2CA7D01C-F2EC-4DCB-9A9B-74B6D1B8DA26@colostate.edu> Message-ID: <20170504093520.GD819@yellowpig> On Wed, May 03, 2017 at 05:40:14PM +0000, Hulpke,Alexander wrote: > Dear Forum, Dear Alexander > > > I am looking for a function that takes as input a square matrix M over a finite field k and outputs a regular matrix T over k, of the same dimension as M, such that TMT^(-1) is in Frobenius normal form (aka rational canonical form). Is there a simple way to construct such a function from GAP's built-in functions? > > As long as only basic (not guaranteed to be particular efficient) functionality is required, this can be added reasonably easily to GAP. > > In name-based favoritism, I have put together such a routine > > RationalCanonicalFormTransform (which will return the transforming matrix T such that T^-1MT is RCF), it is located at > > https://www.dropbox.com/s/xm5713mdif00gyd/rcft.g?dl=0 I did not manage to access this link. For what it is worth, PARI/GP has a similar function (matfrobenius) which implement a fast algorithm. I can send you the detail of the algorithm used to port it to GAP. It is not very long. Cheers, Bill. From alexander.bors at sbg.ac.at Thu May 4 15:34:04 2017 From: alexander.bors at sbg.ac.at (Bors Alexander) Date: Thu, 4 May 2017 14:34:04 +0000 Subject: [GAP Forum] Frobenius normal form (explicit change of basis) In-Reply-To: <20170504093520.GD819@yellowpig> References: <357A53712CAE534B87C05C36985AF0EAB7B3A430@xchmbx2.is.sbg.ac.at> <2CA7D01C-F2EC-4DCB-9A9B-74B6D1B8DA26@colostate.edu>, <20170504093520.GD819@yellowpig> Message-ID: <357A53712CAE534B87C05C36985AF0EAB7B3A4A6@xchmbx2.is.sbg.ac.at> Dear Forum, dear Alexander and Bill, Thank you both for your messages and your helpfulness. Unlike Bill, I was able to access Alexander's link and read his function in. Bill, could you please send me the details of the PARI/GP algorithm which you mentioned? Best wishes, Alexander ________________________________________ Von: forum-bounces at gap-system.org [forum-bounces at gap-system.org]" im Auftrag von "Bill Allombert [Bill.Allombert at math.u-bordeaux.fr] Gesendet: Donnerstag, 4. Mai 2017 11:35 An: forum at gap-system.org Betreff: Re: [GAP Forum] Frobenius normal form (explicit change of basis) On Wed, May 03, 2017 at 05:40:14PM +0000, Hulpke,Alexander wrote: > Dear Forum, Dear Alexander > > > I am looking for a function that takes as input a square matrix M over a finite field k and outputs a regular matrix T over k, of the same dimension as M, such that TMT^(-1) is in Frobenius normal form (aka rational canonical form). Is there a simple way to construct such a function from GAP's built-in functions? > > As long as only basic (not guaranteed to be particular efficient) functionality is required, this can be added reasonably easily to GAP. > > In name-based favoritism, I have put together such a routine > > RationalCanonicalFormTransform (which will return the transforming matrix T such that T^-1MT is RCF), it is located at > > https://www.dropbox.com/s/xm5713mdif00gyd/rcft.g?dl=0 I did not manage to access this link. For what it is worth, PARI/GP has a similar function (matfrobenius) which implement a fast algorithm. I can send you the detail of the algorithm used to port it to GAP. It is not very long. Cheers, Bill. _______________________________________________ Forum mailing list Forum at mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum From mohamed.barakat at uni-siegen.de Tue May 9 14:29:14 2017 From: mohamed.barakat at uni-siegen.de (Mohamed Barakat) Date: Tue, 9 May 2017 15:29:14 +0200 Subject: [GAP Forum] GAP Days - Fall 2017 Message-ID: <985774d1-8668-40ac-8314-d945d24fb017@mail3.ad.uni-siegen.de> Dear colleagues, we are happy to announce GAP Days - Fall 2017, at the University of Siegen ================================================= Workshop: August 30 - September 1 & Code sprint: September 4-8, 2017. For details please visit the homepage of the meeting http://gapdays.de/gapdays2017-fall/ Best regards, Mohamed Barakat (local organizer), and Max Horn. From stefanosaivazidis at gmail.com Thu May 11 16:18:09 2017 From: stefanosaivazidis at gmail.com (Stefanos Aivazidis) Date: Thu, 11 May 2017 17:18:09 +0200 Subject: [GAP Forum] A question on systems of subgroups Message-ID: Dear forum, I have formulated and proved a certain proposition regarding collections of nilpotent subgroups of a finite group. The expression "A < B" will stand for "A is a subgroup of B". If G is a finite group, then I will call F_G a system of nilpotent subgroups for G if F_G consists solely of nilpotent subgroups of G, and further satisfies: 1) F_G contains the trivial subgroup, and G is not in F_G; 2) if K is in F_G and J < K, then J is in F_G; 3) if K is in F_G, then K^g is in F_G for all g in G; 4) for each subgroup K of G (in particular, for G itself), the maximal elements of the sub-poset F_K := {S in F_G : S < K} (with inclusion as partial order) forms a single K-conjugacy class M_K; 5) for any two subgroups K, L of G with K < L, we have that (K:S) divides (L:T), where S is in M_K, and T is in M_L. As an example, if G is not a p-group, and p divides |G|, for some fixed prime p, then we can take F_G to be the collection of all p-subgroups of G. Then Sylow's theorems guarantee that F_G is a system of nilpotent subgroups for G. In fact, there is reason to speculate that if F_G is to be a system of nilpotent subgroups for a group G, then conditions 1)--5) are together strong enough for F_G to be some "well-known" family of subgroups (like Sylow), but I haven't been able to prove anything like that. I would kindly ask for some help in formulating a GAP search for such systems of nilpotent subgroups. Many thanks for taking the time to read my e-mail. Best wishes, Stefanos From 1337777.ooo at gmail.com Tue May 30 12:37:20 2017 From: 1337777.ooo at gmail.com (1337777.OOO) Date: Tue, 30 May 2017 07:37:20 -0400 Subject: [GAP Forum] =?utf-8?q?=5BMCA2017=5D_Computations_in_Groups_and_Ap?= =?utf-8?q?plications_in_Montr=C3=A9al?= Message-ID: Proph https://gitlab.com/1337777/cartier/blob/master/cartierSolution.v solves some question of Cartier which is how to program grammatical meta (metafunctors) ... This starting lemma of polymorph mathematics ( "categories" ) : Coreflections( Set , Funtors( op C , Prop ) ) <=> Funtors( C , Set ) says that the senses ( "metafunctors models" ) onfrom some given primitive-syntax graph may be instead dually viewed as senses ( "coreflective-metafunctors models" ) into some more-complete metafunctors-grammar ( "classifying topos" ). And this starting lemma may be upgraded such to perceive flat metafunctors via geometric morphisms into this metafunctors-grammar. Also this starting lemma may be upgraded such to perceive continuous flat metafunctors via geometric morphisms into some sheaf metafunctors-grammar ... The question is whether these new more-complete metafunctors-grammars are relatively computational/decidable ? This COQ text solves half of this question, the resting half is promised only ... Outline: Primo, the things shall be confined to some meta regular cardinal, and this COQ text assumes-as-axiom some maximum operation inside this regular cardinal and this COQ text assumes-as-axiom some functional extensionality of families of morphisms which are confined to this regular cardinal. Secondo, as was done in the earlier COQ text for colimits, one shall erase/extract some logical cocone-conditions by assuming some erasure/extraction scheme as axiom instead of some very-complicated-induction scheme (beyond induction-induction) ... Tertio, the degradation lemma is more technical than in the earlier COQ texts, because for the congruent-reduction from the copairing operation applied onto some cocone of morphisms, one shall require simultaneous full-reduction of every reductible morphism in the cocone. Most of this COQ program and deduction is automated. Keywords: 1337777.OOO//cartierSolution.v ; metafunctors-grammar ; duality ; classifying topos ----- Memo : The 1337777.OOO SOLUTION PROGRAMME originates from some random-moment discovery of some convergence of the DOSEN PROGRAMME [[http://www.mi.sanu.ac.rs/~kosta]] along the COQ PROGRAMME [[https://coq.inria.fr]]. The 1337777.OOO has discovered [[1337777.OOO//coherence2.v]] [[google.com/#q=1337777.OOO/coherence2.v]] [[https://web.archive.org/web/20170516011054/https://github.com/1337777/dosen/blob/master/coherence2.v]] [fn:4] [fn:5] that the attempt to deduce associative coherence by Maclane is not the reality, because this famous pentagone is in fact some recursive square. This associative coherence is the meta of the semiassociative coherence [[1337777.OOO//coherence.v]] which does lack some more-common Newman-style confluence lemma. Moreover the 1337777.OOO has discovered [[1337777.OOO//borceuxSolution2.v]] [[1337777.OOO//chic05.pdf]] that the "categories" ( "enriched categories" ) only-named by the homologist Maclane are in reality interdependent-cyclic with the natural polymorphism of the logic of Gentzen, this enables some programming of congruent resolution by cut-elimination [[1337777.OOO//dosenSolution3.v]] which will serve as specification (reflection) technique to semi-decide the questions of coherence, in comparasion from the ssreflect-style. Furthermore the 1337777.OOO has discovered [[1337777.OOO//aignerSolution.v]] [[1337777.OOO//ocic04-where-is-combinatorics.pdf]] that the Galois-action for the resolution-modulo ( "symmetry groupoid action" ), is in fact some instance of polymorph functors. And the 1337777.OOO has discovered [[1337777.OOO//ocic03-what-is-normal.djvu]] [[1337777.OOO//laoziSolution2.v]] how to program polymorph coparametrism functors ( "comonad" ). And the 1337777.OOO has discovered [[1337777.OOO//chuSolution.v]] how to program contextual limits of polymorph functors ( "Kan extension" ). And the 1337777.OOO has discovered [[1337777.OOO//cartierSolution.v]] how to program the metafunctors-grammar ( "topos" ), as the primo step towards the programming of the ( "classifying-topos" ) sheaf-metafunctors-grammar which is held as augmented-syntax in the Diaconescu duality lemma ( "coreflective-metafunctors models" ). Another further step shall be to GAP-and-COQ program [[https://www.gap-system.org]] the computational logic for Tarski's decidability in free groups and for convergence in infinite groups ... Additionnally, the 1337777.OOO has discovered random dia-para-logic discoveries [[1337777.OOO//1337777solution.txt]] and information-technology [[1337777.OOO//init.html]] [[1337777.OOO//init.pdf]] [[1337777.OOO//makegit.sh.org]] [[1337777.OOO//editableTree.urp]] [[1337777.OOO//gongji.ml4]] based on the _EMACS org-mode_ logiciel which enables communication of _timed-synchronized_ _geolocated_ _simultaneously-edited_ _multi-authors_ _format-able_ _searchable_ text, and therefore _personal email_ and _public communication_ of _multiple-market/language_ (????textual COQ math programming, and which enables _personal archiving_ and _public archiving_ and therefore _public reviews / webcitations_ . Whatever is discovered, its format, its communication is simultaneously some predictable-time (1337) computational-logical discovery and some random-moment (777) dia-para-computalogical discovery. ----- Memo ( "prealables d'un debat" ) ref the unavoidable question : what is the "ends" / "added-value" / "product" in mathematics ? The "ends" in mathematics are commonly described as "education" and "research". In reality the only "research" ( predictable-time computational-logical discovery, "correct" ) is the engineering of some computational logical computer program or the engineering of some physical prototype, and the rest is "education" ( random-moment dia-para-computalogical discovery, teaching "ideas" ) which is amplified by the question of "audience"/"market" or universality of the communication-language medium [[1337777.OOO//gongji.ml4]]. Unfortunately sometimes forced-fool-and-theft/lie/falsification ( "absence of reality" ) [[1337777.OOO//1337777solution.txt]] defeats both "research" by preventing anything other than " .PDF binary files with pretty greek-letters and large-vertical-symbols ", and defeats "education" by preventing public-review (including public-students review). The medium of this forced-fool-and-theft/lie/falsification may be monetarist or "tribalistic" (interdependent) ... such that it is common ( "maybe half" ) question whether one "tribalistic" (interdependent) teacher's purely predictable-time computational-logical discovery, steals/hides/injects some other original-teacher's "idea" (random-moment dia-para-computalogical discovery) ... and such that it is common ( "maybe half" ) question whether the fabrication/falsification of some non-necessary grade/bounty/reward is precisely to permit "tribalistic" (interdependent) determinism ... or am I the 7ok3r ? ----- paypal 1337777.OOO at gmail.com , wechatpay 2796386464 at qq.com , irc #OOO1337777 From alexander.konovalov at st-andrews.ac.uk Mon Jun 12 10:26:13 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 12 Jun 2017 09:26:13 +0000 Subject: [GAP Forum] GAP Tutorial after Groups St Andrews in Birmingham (13-14 August 2017) Message-ID: <064623DA-F383-4E5A-B16E-6922F9F25E1C@st-andrews.ac.uk> Dear GAP Forum, 2017 is the year of Groups St Andrews 2017 in Birmingham (http://www.groupsstandrews.org/2017/). This conference is organised by the University of St Andrews and the University of Birmingham. It will take place in Birmingham between Saturday 5th August (arrival day) and Sunday 13th August 2017 (departure day). The talks will happen from 6th August until 12th August 2017 (inclusive). Immediately after that conference, CoDiMa project (https://www.codima.ac.uk/) will run a satellite hands-on tutorial on the computational algebra system GAP (http://www.gap-system.org/). We will start it at 11am on Sunday August 13th and finish it shortly after lunch on Monday August 14th to allow for return journeys. The tutorial will start with the Software Carpentry lesson ?Programming with GAP? (http://alex-konovalov.github.io/gap-lesson/), followed by further sessions on debugging and profiling, avoiding common pitfalls while programming group-theoretical algorithms, and other aspects of programming in GAP. To register, proceed to the University of Birmingham Online Shop: http://shop.bham.ac.uk/conferences-and-events/college-of-engineering-physical-sciences/school-of-mathematics/gap-tutorial-groups-st-andrews The registration is independent of registration for Groups St Andrews 2017 in Birmingham. You will have an option to choose accommodation on campus for 1, 2 or 3 nights dependently on your needs. Please note that the deadline for booking on campus accommodation at discounted price is June 28th. After that date accommodation will be offered at a standard price and only subject to availability. Limited financial support to cover travel expenses and accommodation in Birmingham during the GAP tutorial is available to PhD students from UK Universities who will attend both days of the tutorial (Sunday-Monday). Students wishing to apply for the support should register online, and then ask their PhD supervisor to email to contact at codima.ac.uk a recommendation that they should take part. Please note that this is not a Software Carpentry workshop, so it will not cover topics such as Unix shell and version control with Git which are standard parts of the Software Carpentry curriculum (https://software-carpentry.org/lessons/). If you?re interested in these topics, in addition to the GAP tutorial we recommend you to attend one of the Software Carpentry workshops, which you can find on this page: https://software-carpentry.org/workshops/ Best wishes Alexander -- Dr. Alexander Konovalov, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews Software Sustainability Institute Fellow http://blogs.cs.st-andrews.ac.uk/alexk/ -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From arashrafi at kashanu.ac.ir Thu Jun 15 20:37:59 2017 From: arashrafi at kashanu.ac.ir (arashrafi at kashanu.ac.ir) Date: Fri, 16 Jun 2017 00:07:59 +0430 (IRDT) Subject: [GAP Forum] Conjugacy Classes Message-ID: <8042553.22.1497555479791.JavaMail.root@mail.kashanu.ac.ir> Dear forum, Is there any command in GAP to obtain all groups with a given number of conjugacy classes? Sincerely, Alireza -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. From sk239 at st-andrews.ac.uk Thu Jun 15 21:08:38 2017 From: sk239 at st-andrews.ac.uk (Stefan Kohl) Date: Thu, 15 Jun 2017 22:08:38 +0200 Subject: [GAP Forum] Conjugacy Classes In-Reply-To: <8042553.22.1497555479791.JavaMail.root@mail.kashanu.ac.ir> References: <8042553.22.1497555479791.JavaMail.root@mail.kashanu.ac.ir> Message-ID: <7c711c5f-8f4d-d346-a64b-eaaa8137d383@st-andrews.ac.uk> Alireza Ashrafi asked: > Is there any command in GAP to obtain all groups with a given number of conjugacy classes? No, i.e. only if the given number is one: gap> AllGroups(1); [ ] Already the case of two conjugacy classes is pretty complicated -- see e.g. https://mathoverflow.net/questions/146799/ . Hope this helps, Stefan ----------------------------------------------------------------------------- https://stefan-kohl.github.io/ ----------------------------------------------------------------------------- From alexander.konovalov at st-andrews.ac.uk Thu Jun 15 21:18:57 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 15 Jun 2017 20:18:57 +0000 Subject: [GAP Forum] Conjugacy Classes In-Reply-To: <8042553.22.1497555479791.JavaMail.root@mail.kashanu.ac.ir> References: <8042553.22.1497555479791.JavaMail.root@mail.kashanu.ac.ir> Message-ID: <6838F65D-75A6-4244-AF69-B45FC2C78741@st-andrews.ac.uk> Dear Alireza, Just to check, do you mean all groups **of a given order** with a given number of conjugacy classes, or something else? If you are interested in selecting such groups for orders that are contained in the Small Groups Library, that's certainly doable. HTH Alexander > On 15 Jun 2017, at 20:37, arashrafi at kashanu.ac.ir wrote: > > Dear forum, > > Is there any command in GAP to obtain all groups with a given number of conjugacy classes? > > Sincerely, > Alireza > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dr. Alexander Konovalov, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews Software Sustainability Institute Fellow http://blogs.cs.st-andrews.ac.uk/alexk/ -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From lovepgroups at gmail.com Sun Jun 18 12:54:13 2017 From: lovepgroups at gmail.com (abdulhakeem alayiwola) Date: Sun, 18 Jun 2017 12:54:13 +0100 Subject: [GAP Forum] GAP In-Reply-To: References: Message-ID: Dear forum, Please can GAP be installed on iPad? Best wishes. From dr.jerry.swan at gmail.com Sun Jun 18 14:05:18 2017 From: dr.jerry.swan at gmail.com (Jerry Swan) Date: Sun, 18 Jun 2017 14:05:18 +0100 Subject: [GAP Forum] Recombining irreducible representations Message-ID: Dear all, For some element g of a group G for which irr := IrreducibleRepresentations(G) have been obtained, is it possible to recover g from images := List(irr,r->Image(r,g)) ? Best wishes, Jerry. From jdm3 at st-andrews.ac.uk Sun Jun 18 14:09:23 2017 From: jdm3 at st-andrews.ac.uk (James Mitchell) Date: Sun, 18 Jun 2017 13:09:23 +0000 Subject: [GAP Forum] Fwd: GAP In-Reply-To: References: <891bf7d19c3943718aeb6da4ec270ff5@AM5PR06MB3044.eurprd06.prod.outlook.com> Message-ID: Maybe there's a longer answer but the short answer is no. On Sun, 18 Jun 2017 at 12:55, abdulhakeem alayiwola wrote: > Dear forum, > Please can GAP be installed on iPad? > Best wishes. > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From dr.jerry.swan at gmail.com Sun Jun 18 14:37:06 2017 From: dr.jerry.swan at gmail.com (Jerry Swan) Date: Sun, 18 Jun 2017 14:37:06 +0100 Subject: [GAP Forum] Fwd: Recombining irreducible representations In-Reply-To: References: Message-ID: A helpful further response from Marc Keilberg indicates that this is possible for finite G. Concretely, I'm working with $S_n$, which I should have clarified. If anyone can spell out what I need to do to get back $g$ (as opposed to just its class representative) that would be enormously helpful. Best wishes, Jerry. On Sun, Jun 18, 2017 at 2:30 PM, Marc Keilberg wrote: > Eh, jumped the gun. So used to working with characters I failed to > realize these are the full representations you're applying. In this case, > at least for finite G: yes. A faithful permutation representation of the > group is determined by the representation theory (you can write it out in > permutation matrices, in particular), and the group elements are uniquely > determined by their representation as a permutation. > > On Sun, Jun 18, 2017 at 6:11 AM, Marc Keilberg wrote: > >> The irreducible characters are class functions, so you necessarily can't >> get any more information than the conjugacy class. And since the >> irreducible characters are a basis for the class functions, that's >> precisely what you can recover. So you can only recover g itself if it's >> in the center. >> >> On Sun, Jun 18, 2017 at 6:05 AM, Jerry Swan >> wrote: >> >>> Dear all, >>> >>> For some element g of a group G for which irr := >>> IrreducibleRepresentations(G) have been obtained, is it possible to >>> recover >>> g from images := List(irr,r->Image(r,g)) ? >>> >>> Best wishes, >>> >>> Jerry. >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__mail.gap >>> -2Dsystem.org_mailman_listinfo_forum&d=DwICAg&c=clK7kQUTWtAV >>> EOVIgvi0NU5BOUHhpN0H8p7CSfnc_gI&r=_TYxCHNDVTm_qGVCLj17bw&m=y >>> 4nrJdKFNr9joQ1eeYyehMaJ2p3PMu99Y93s2YNwjHA&s=8bZHZiY2EuP7o6n >>> TtyHlnR2WWi_zZJl9kDPTA0doM4o&e= >>> >> >> > From max at quendi.de Sun Jun 18 16:16:41 2017 From: max at quendi.de (Max Horn) Date: Sun, 18 Jun 2017 17:16:41 +0200 Subject: [GAP Forum] Recombining irreducible representations In-Reply-To: References: Message-ID: <91FF2CCB-8A30-4BC6-B897-96F82BFD8016@quendi.de> Dear Jerry, > On 18 Jun 2017, at 15:05, Jerry Swan wrote: > > Dear all, > > For some element g of a group G for which irr := > IrreducibleRepresentations(G) have been obtained, is it possible to recover > g from images := List(irr,r->Image(r,g)) ? The representations are homomorphisms, and as such, you can compute preimages -- which in general are of course not unique, but rather cosets of the kernel. But for a finite group, the intersection of the kernel of all irreducible representations is trivial, so you can recover g like this: pre:=Intersection(List([1..Length(irr)], i -> PreImagesElm(irr[i], images[i]))); Applied to a concrete example: gap> G:=SymmetricGroup(5);; gap> irr:=IrreducibleRepresentations(G);; gap> g:=Random(G); (1,4,3) gap> images := List(irr,r->Image(r,g));; gap> pre:=Intersection(List([1..Length(irr)], i -> PreImagesElm(irr[i], images[i]))); [ (1,4,3) ] In a later email, you clarified that your group G is always a symmetric group S_n. In that case, at least for n>=5, most irreducible representations are actually faithful, the exception being the trivial and the sign representation. In that case, you can simply take a preimage of one of the faithful representations, like so: gap> List(irr, IsInjective); [ false, true, true, true, true, true, false ] gap> irr[1]; # this is the sign representation [ (1,2,3,4,5), (1,2) ] -> [ [ [ 1 ] ], [ [ -1 ] ] ] gap> irr[7]; # this is the trivial representation [ (1,2,3,4,5), (1,2) ] -> [ [ [ 1 ] ], [ [ 1 ] ] ] gap> PreImage(irr[2], images[2]); (1,4,3) gap> PreImage(irr[3], images[3]); (1,4,3) Hope that helps, Max From sam at Math.RWTH-Aachen.De Sun Jun 18 16:30:50 2017 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Sun, 18 Jun 2017 17:30:50 +0200 Subject: [GAP Forum] Recombining irreducible representations In-Reply-To: References: Message-ID: <20170618153049.GA8504@localhost.localdomain> Dear GAP Forum, Jerry Swan asked > For some element g of a group G for which irr := > IrreducibleRepresentations(G) have been obtained, is it possible to > recover > g from images := List(irr,r->Image(r,g)) ? and later added > Concretely, I'm working with $S_n$, which I should have clarified. If phi is a group homomorphism and you know phi( g ) for some group element g in the source of phi then the set of preimages of phi( g ) under phi consists of the coset g ker( phi ). If phi is faithful (and S_n has faithful irreducible representations) then just take the unique preimage under phi. In general, if you know the images of g under sufficiently many (irreducible) representations phi_i such that the intersection of their kernels is trivial then you can determine g from the intersection of the preimages of the phi_i( g ). All the best, Thomas From dr.jerry.swan at gmail.com Sun Jun 18 16:52:55 2017 From: dr.jerry.swan at gmail.com (Jerry Swan) Date: Sun, 18 Jun 2017 16:52:55 +0100 Subject: [GAP Forum] Recombining irreducible representations In-Reply-To: <91FF2CCB-8A30-4BC6-B897-96F82BFD8016@quendi.de> References: <91FF2CCB-8A30-4BC6-B897-96F82BFD8016@quendi.de> Message-ID: Dear Stefan, Marc and Max, Thanks very much for your help. Best wishes, Jerry. On Sun, Jun 18, 2017 at 4:16 PM, Max Horn wrote: > Dear Jerry, > > > On 18 Jun 2017, at 15:05, Jerry Swan wrote: > > > > Dear all, > > > > For some element g of a group G for which irr := > > IrreducibleRepresentations(G) have been obtained, is it possible to > recover > > g from images := List(irr,r->Image(r,g)) ? > > The representations are homomorphisms, and as such, you can compute > preimages -- which in general are of course not unique, but rather cosets > of the kernel. But for a finite group, the intersection of the kernel of > all irreducible representations is trivial, so you can recover g like this: > > pre:=Intersection(List([1..Length(irr)], i -> PreImagesElm(irr[i], > images[i]))); > > Applied to a concrete example: > > gap> G:=SymmetricGroup(5);; > gap> irr:=IrreducibleRepresentations(G);; > gap> g:=Random(G); > (1,4,3) > gap> images := List(irr,r->Image(r,g));; > gap> pre:=Intersection(List([1..Length(irr)], i -> PreImagesElm(irr[i], > images[i]))); > [ (1,4,3) ] > > > In a later email, you clarified that your group G is always a symmetric > group S_n. In that case, at least for n>=5, most irreducible > representations are actually faithful, the exception being the trivial and > the sign representation. In that case, you can simply take a preimage of > one of the faithful representations, like so: > > gap> List(irr, IsInjective); > [ false, true, true, true, true, true, false ] > gap> irr[1]; # this is the sign representation > [ (1,2,3,4,5), (1,2) ] -> [ [ [ 1 ] ], [ [ -1 ] ] ] > gap> irr[7]; # this is the trivial representation > [ (1,2,3,4,5), (1,2) ] -> [ [ [ 1 ] ], [ [ 1 ] ] ] > gap> PreImage(irr[2], images[2]); > (1,4,3) > gap> PreImage(irr[3], images[3]); > (1,4,3) > > > Hope that helps, > Max From alexander.konovalov at st-andrews.ac.uk Mon Jun 19 10:45:26 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 19 Jun 2017 09:45:26 +0000 Subject: [GAP Forum] PASCO 2017: 8th International Workshop on Parallel and Symbolic Computation Message-ID: <49336527-6EE1-4C4C-A53B-A73D43AC7952@st-andrews.ac.uk> PASCO 2017 8th International Workshop on Parallel and Symbolic Computation Technical University of Kaiserslautern, Germany, July 23-24 2017. FIRST CALL FOR PARTICIPATION Online Registration is Open http://sigsam.org/PASCO/2017/ --------------------------------------------------------------- The International Workshop on Parallel and Symbolic Computation (PASCO) is a series of workshops dedicated to the promotion and advancement of parallel algorithms and software in all areas of mathematical computation. PASCO 2017 will be held on July 23-24, 2017 at the Technical University of Kaiserslautern, Germany. Registration ----------------------- Online registration (available to July 21st) is now open. We request that participants register by July 10th if possible. Registration for Monday July 24th only is also available. Registration for the Tutorial only on Monday July 24th is also available. For details on fees and to register online, please visit http://sigsam.org/PASCO/2017/registration.html Accepted Papers: ---------------- A list of current accepted papers is posted at http://sigsam.org/PASCO/2017/papers.html Invited Speakers: ----------------- Paolo Bientinesi (RWTH Aachen, Germany) Title: Compiling linear algebra expressions to high-performance code. Florent Hivert (Laboratoire de Recherche en Informatique (LRI), Paris) Title: High performance computing experiments in enumerative and algebraic combinatorics. Invited Tutorial: ----------------- Marc Moreno Maza (Western University, London, Ontario, Canada) Tutorial: Multithreaded programming on the GPU: pointers and hints for the computer algebraist. Abstracts are posted at: http://sigsam.org/PASCO/2017/ Satellite Workshops/Conferences: -------------------------------- The International Symposium on Symbolic and Algebraic Computation (ISSAC) will be held after PASCO on July 24th-28th at the University of Kaiserslautern. The Second International Workshop on Satisfiability Checking and Symbolic Computation (SC2 2017) will be held on July 29th 2017 (after ISSAC'17) at University of Kaiserslautern. We look forward to seeing you in Kaiserslautern. Hans-Wolfgang Loidl: General Chair Jean Charles Faugere: Program Co-Chair Michael Monagan: Program Co-Chair. From wdjoyner at gmail.com Tue Jun 20 19:57:09 2017 From: wdjoyner at gmail.com (David Joyner) Date: Tue, 20 Jun 2017 14:57:09 -0400 Subject: [GAP Forum] Fwd: GAP In-Reply-To: References: <891bf7d19c3943718aeb6da4ec270ff5@AM5PR06MB3044.eurprd06.prod.outlook.com> Message-ID: On Sun, Jun 18, 2017 at 9:09 AM, James Mitchell wrote: > Maybe there's a longer answer but the short answer is no. > Abdulhakeem Alayiwola: The obvious longer answer is to use a cloud-based solution such as https://cocalc.com/ (formerly cloud.sagemath.com) or https://cloud.gap-system.org/ (which I have not tested nor do I know how to get an account). These should work fine on an ipad. However, there is no functional gap-system app for iOS devices that I know of. (E.g., the Sage app, while still available in the app store, does not work AFAIK.) > On Sun, 18 Jun 2017 at 12:55, abdulhakeem alayiwola > wrote: > >> Dear forum, >> Please can GAP be installed on iPad? >> Best wishes. >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From maasiru at yahoo.com Fri Jun 23 17:09:41 2017 From: maasiru at yahoo.com ([Muniru Asiru] maasiru@yahoo.com) Date: Fri, 23 Jun 2017 16:09:41 +0000 (UTC) Subject: [GAP Forum] GAP command to remove first and last element in a list References: <57795025.544924.1498234181107.ref@mail.yahoo.com> Message-ID: <57795025.544924.1498234181107@mail.yahoo.com> I have a list of numbers say L:=Elements(List([7..20])); My interest is to use a command in GAP to remove 7 and 20 from L so that L now contains numbers between 8 and 19. What command should I use??Dr. Muniru A. Asiru, Department of Mathematics & Statistics, The Federal Polytechnic, P.M.B. 55, Bida, Niger State, Nigeria. OR Dr. Muniru A. Asiru, P.O.Box. 294, Bida, Niger State, Nigeria. Email Addresses: maasiru at yahoo.com, remiasiru at yahoo.com, Mobile Phone number: +2348034271010 From waghoba at gmail.com Fri Jun 23 17:34:32 2017 From: waghoba at gmail.com (Vinay Wagh) Date: Fri, 23 Jun 2017 18:34:32 +0200 Subject: [GAP Forum] GAP command to remove first and last element in a list In-Reply-To: <57795025.544924.1498234181107@mail.yahoo.com> References: <57795025.544924.1498234181107.ref@mail.yahoo.com> <57795025.544924.1498234181107@mail.yahoo.com> Message-ID: gap> L := List( [ 7..20 ] );; gap> Remove( L, 1 ); 7 gap> Remove( L, Length( L ) ); 20 gap> L; [ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ] Have a look at https://www.gap-system.org/Manuals/doc/ref/chap21.html#X7E98B11B79BA9167 Hope this helps. VInay On 23 June 2017 at 18:09, [Muniru Asiru] maasiru at yahoo.com wrote: > > I have a list of numbers say > L:=Elements(List([7..20])); > My interest is to use a command in GAP to remove 7 and 20 from L so that L now contains numbers between 8 and 19. > What command should I use? Dr. Muniru A. Asiru, Department of Mathematics & Statistics, The Federal Polytechnic, P.M.B. 55, Bida, Niger State, Nigeria. OR Dr. Muniru A. Asiru, P.O.Box. 294, Bida, Niger State, Nigeria. Email Addresses: maasiru at yahoo.com, remiasiru at yahoo.com, Mobile Phone number: +2348034271010 > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From graham.ellis at nuigalway.ie Fri Jun 30 11:06:54 2017 From: graham.ellis at nuigalway.ie (Ellis, Grahamj) Date: Fri, 30 Jun 2017 10:06:54 +0000 Subject: [GAP Forum] Jobs at Galway In-Reply-To: References: , Message-ID: A permanent lectureship in Mathematics has now been advertized at Galway. Closing date is Thursday 10 August. Details are available here https://cloud.corehr.com/pls/nuigliverecruit/erq_jobspec_version_4.display_form Graham School of Mathematics, Statistics & Applied Mathematics National University of Ireland, Galway University Road, Galway Ireland http://hamilton.nuigalway.ie tel: 091 493011 From lovepgroups at gmail.com Wed Jul 5 15:58:52 2017 From: lovepgroups at gmail.com (Abdulhakeem Olayiwola) Date: Wed, 5 Jul 2017 15:58:52 +0100 Subject: [GAP Forum] Group[HomomorphismByImages Message-ID: Dear forum, Please can someone explain the reason why i am having this error; and a possible solution. Kind Regards gap> f:=FreeGroup("a","b"); gap> a:=f.1; b:=f.2; a b gap> rel:=[a^4,b^2,b^-1*a*b*a]; [ a^4, b^2, b^-1*a*b*a ] gap> D8:=f/rel; gap> SetReducedMultiplication(D8); gap> A:=AutomorphismGroup(D8); gap> List(A); [ [ b, b*a^2, a*b ] -> [ b, b*a^2, a*b ], [ b, b*a^2, a*b ] -> [ a*b, b*a, b*a^2 ], [ b, b*a^2, a*b ] -> [ b*a^2, b, b*a ], [ b, b*a^2, a*b ] -> [ b*a, a*b, b*a^2 ], [ b, b*a^2, a*b ] -> [ b, b*a^2, b*a ], [ b, b*a^2, a*b ] -> [ a*b, b*a, b ], [ b, b*a^2, a*b ] -> [ b*a^2, b, a*b ] , [ b, b*a^2, a*b ] -> [ b*a, a*b, b ] ] gap> f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ] -> [ b, b*a^2, a*b ]); Syntax error: ) expected f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ] -> [ b, b*a^2, a*b ]); From dmitrii.pasechnik at cs.ox.ac.uk Thu Jul 6 09:54:25 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Thu, 6 Jul 2017 09:54:25 +0100 Subject: [GAP Forum] Group[HomomorphismByImages In-Reply-To: References: Message-ID: <20170706085425.GA9028@hilbert> Dear Abdulhakeem, > Please can someone explain the reason why i am having this error; and a > possible solution. > gap> f:=FreeGroup("a","b"); > gap> a:=f.1; b:=f.2; > gap> rel:=[a^4,b^2,b^-1*a*b*a]; > gap> D8:=f/rel; > gap> SetReducedMultiplication(D8); > gap> A:=AutomorphismGroup(D8); > gap> List(A); [...] > gap> f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ] -> [ b, b*a^2, > a*b ]); First of all, a and b are not elements of D8, they are elements of f, the free group. So you'd first need to do, after defining D8, a:=D8.1; b:=D8.2; (or, perhaps, other variable names, for clarity, etc) Then, [ b, b*a^2, a*b ] -> [ b, b*a^2, > a*b ] is not valid GAP syntax, and anyway this is not what GroupHomomorphismByImages expects as input; instead f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ],[ b, b*a^2, a*b ]); will to the job. Hope this helps, Dima From lovepgroups at gmail.com Thu Jul 6 13:46:50 2017 From: lovepgroups at gmail.com (Abdulhakeem Olayiwola) Date: Thu, 6 Jul 2017 13:46:50 +0100 Subject: [GAP Forum] Group[HomomorphismByImages In-Reply-To: <20170706085425.GA9028@hilbert> References: <20170706085425.GA9028@hilbert> Message-ID: Thank you for the clarification. On Jul 6, 2017 9:54 AM, wrote: > Dear Abdulhakeem, > > Please can someone explain the reason why i am having this error; and a > > possible solution. > > > gap> f:=FreeGroup("a","b"); > > gap> a:=f.1; b:=f.2; > > gap> rel:=[a^4,b^2,b^-1*a*b*a]; > > gap> D8:=f/rel; > > gap> SetReducedMultiplication(D8); > > gap> A:=AutomorphismGroup(D8); > > gap> List(A); > [...] > > gap> f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ] -> [ b, > b*a^2, > > a*b ]); > > First of all, a and b are not elements of D8, they are elements of f, > the free group. So you'd first need to do, after defining D8, > > a:=D8.1; > b:=D8.2; > > (or, perhaps, other variable names, for clarity, etc) > > Then, [ b, b*a^2, a*b ] -> [ b, b*a^2, > a*b ] is not valid GAP syntax, > and anyway this is not what GroupHomomorphismByImages expects as input; > instead > > f1:=GroupHomomorphismByImages(D8,D8, [ b, b*a^2, a*b ],[ b, b*a^2, a*b ]); > > will to the job. > > Hope this helps, > Dima > > From r_n_tsai at yahoo.com Thu Jul 6 20:46:29 2017 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Thu, 6 Jul 2017 19:46:29 +0000 (UTC) Subject: [GAP Forum] creating directories References: <2113236823.16633.1499370389159.ref@mail.yahoo.com> Message-ID: <2113236823.16633.1499370389159@mail.yahoo.com> Dear GAP Forum, I'd like to create a directory on my desktop under GAP control. I found the "DirectoryDesktop" command butI couldn't find any "mkdir" equivalent commands; are there any options?Thanks,R.N. | | Virus-free. www.avg.com | From shubh at cub.ac.in Fri Jul 7 05:56:35 2017 From: shubh at cub.ac.in (Shubh Narayan Singh (Assistant Professor, Mathematics)) Date: Fri, 7 Jul 2017 10:26:35 +0530 Subject: [GAP Forum] Regarding Idempotent elements in semigroup Message-ID: Please can someone tell the gap code, if exists, for 1. listing all the idempotent elements 2. cardinality of the set of all idempotent elements in a finite semigroup. Thank you in advance. *Regards,* *Shubh* *-----------------------------------------------------Shubh Narayan Singh, Ph.D.Assistant Professor * *Department of MathematicsCentral University of South BiharPatna - 800 014-----------------------------------------* *e-mail: shubh at cub.ac.in * *Mob: +91- 8404934146* From waghoba at gmail.com Fri Jul 7 07:11:15 2017 From: waghoba at gmail.com (Vinay Wagh) Date: Fri, 7 Jul 2017 08:11:15 +0200 Subject: [GAP Forum] Regarding Idempotent elements in semigroup In-Reply-To: References: Message-ID: gap> a:= Transformation( [ 2, 3, 4, 1 ] );; gap> b:= Transformation( [ 2, 2, 3, 4 ] );; gap> s:= Semigroup(a, b); gap> l := Idempotents( s ); [ Transformation( [ 2, 2 ] ), IdentityTransformation, Transformation( [ 1, 1, 3, 3 ] ), Transformation( [ 4, 2, 2, 4 ] ), Transformation( [ 1, 2, 3, 1 ] ), Transformation( [ 1, 2, 4, 4 ] ), Transformation( [ 1, 3, 3 ] ), Transformation( [ 1, 1 ] ), Transformation( [ 2, 2, 2 ] ), Transformation( [ 2, 2, 3, 3 ] ), Transformation( [ 2, 2, 4, 4 ] ), Transformation( [ 3, 3, 3 ] ), Transformation( [ 4, 2, 3, 4 ] ), Transformation( [ 1, 3, 3, 1 ] ), Transformation( [ 2, 2, 3, 2 ] ), Transformation( [ 2, 2, 2, 2 ] ), Transformation( [ 1, 1, 1 ] ), Transformation( [ 1, 1, 4, 4 ] ), Transformation( [ 3, 3, 3, 3 ] ), Transformation( [ 4, 4, 3, 4 ] ), Transformation( [ 1, 1, 3, 1 ] ), Transformation( [ 1, 2, 2, 1 ] ), Transformation( [ 4, 3, 3, 4 ] ), Transformation( [ 1, 2, 3, 3 ] ), Transformation( [ 3, 2, 3, 3 ] ), Transformation( [ 4, 2, 4, 4 ] ), Transformation( [ 1, 2, 1, 1 ] ), Transformation( [ 1, 2, 2 ] ), Transformation( [ 1, 3, 3, 3 ] ), Transformation( [ 1, 4, 4, 4 ] ), Transformation( [ 4, 4, 4, 4 ] ), Transformation( [ 1, 1, 1, 1 ] ), Transformation( [ 1, 2, 2, 2 ] ) ] gap> Size( l ); 33 Hope this helps! VInay On 7 July 2017 at 06:56, Shubh Narayan Singh (Assistant Professor, Mathematics) wrote: > Please can someone tell the gap code, if exists, for > > 1. listing all the idempotent elements > > 2. cardinality of the set of all idempotent elements > > in a finite semigroup. > > Thank you in advance. > > > *Regards,* > > *Shubh* > > > *-----------------------------------------------------Shubh Narayan Singh, > Ph.D.Assistant Professor * > > > > *Department of MathematicsCentral University of South BiharPatna - 800 > 014-----------------------------------------* > *e-mail: shubh at cub.ac.in * > *Mob: +91- 8404934146* > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From shubh at cub.ac.in Fri Jul 7 07:51:05 2017 From: shubh at cub.ac.in (Shubh Narayan Singh (Assistant Professor, Mathematics)) Date: Fri, 7 Jul 2017 12:21:05 +0530 Subject: [GAP Forum] Regarding Idempotent elements in semigroup In-Reply-To: References: Message-ID: Thank you sir for providing the code with clarification. Regards, \-Shubh On Fri, Jul 7, 2017 at 11:41 AM, Vinay Wagh wrote: > gap> a:= Transformation( [ 2, 3, 4, 1 ] );; > gap> b:= Transformation( [ 2, 2, 3, 4 ] );; > gap> s:= Semigroup(a, b); > > gap> l := Idempotents( s ); > [ Transformation( [ 2, 2 ] ), IdentityTransformation, Transformation( > [ 1, 1, 3, 3 ] ), Transformation( [ 4, 2, 2, 4 ] ), > Transformation( [ 1, 2, 3, 1 ] ), Transformation( [ 1, 2, 4, 4 ] ), > Transformation( [ 1, 3, 3 ] ), Transformation( [ 1, 1 ] ), > Transformation( [ 2, 2, 2 ] ), Transformation( [ 2, 2, 3, 3 ] ), > Transformation( [ 2, 2, 4, 4 ] ), Transformation( [ 3, 3, 3 ] ), > Transformation( [ 4, 2, 3, 4 ] ), Transformation( [ 1, 3, 3, 1 ] ), > Transformation( [ 2, 2, 3, 2 ] ), Transformation( [ 2, 2, 2, 2 ] ), > Transformation( [ 1, 1, 1 ] ), Transformation( [ 1, 1, 4, 4 ] ), > Transformation( [ 3, 3, 3, 3 ] ), Transformation( [ 4, 4, 3, 4 ] ), > Transformation( [ 1, 1, 3, 1 ] ), Transformation( [ 1, 2, 2, 1 ] ), > Transformation( [ 4, 3, 3, 4 ] ), Transformation( [ 1, 2, 3, 3 ] ), > Transformation( [ 3, 2, 3, 3 ] ), Transformation( [ 4, 2, 4, 4 ] ), > Transformation( [ 1, 2, 1, 1 ] ), Transformation( [ 1, 2, 2 ] ), > Transformation( [ 1, 3, 3, 3 ] ), Transformation( [ 1, 4, 4, 4 ] ), > Transformation( [ 4, 4, 4, 4 ] ), Transformation( [ 1, 1, 1, 1 ] ), > Transformation( [ 1, 2, 2, 2 ] ) ] > gap> Size( l ); > 33 > > > Hope this helps! > > VInay > > > > > On 7 July 2017 at 06:56, Shubh Narayan Singh (Assistant Professor, > Mathematics) wrote: > > Please can someone tell the gap code, if exists, for > > > > 1. listing all the idempotent elements > > > > 2. cardinality of the set of all idempotent elements > > > > in a finite semigroup. > > > > Thank you in advance. > > > > > > *Regards,* > > > > *Shubh* > > > > > > *-----------------------------------------------------Shubh Narayan > Singh, > > Ph.D.Assistant Professor * > > > > > > > > *Department of MathematicsCentral University of South BiharPatna - 800 > > 014-----------------------------------------* > > *e-mail: shubh at cub.ac.in * > > *Mob: +91- 8404934146* > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > -- -- *Sincerely,* *Shubh Narayan Singh* *-----------------------------------------------------Shubh Narayan Singh, Ph.D.Assistant Professor * *Department of MathematicsCentral University of South BiharPatna - 800 014-----------------------------------------* *e-mail: shubh at cub.ac.in * *Mob: +91- 8404934146* From dmitrii.pasechnik at cs.ox.ac.uk Fri Jul 7 09:59:12 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Fri, 7 Jul 2017 09:59:12 +0100 Subject: [GAP Forum] creating directories In-Reply-To: <2113236823.16633.1499370389159@mail.yahoo.com> References: <2113236823.16633.1499370389159.ref@mail.yahoo.com> <2113236823.16633.1499370389159@mail.yahoo.com> Message-ID: <20170707085912.GA10702@hilbert> On Thu, Jul 06, 2017 at 07:46:29PM +0000, R.N. Tsai wrote: > I'd like to create a directory on my desktop under GAP control. I found the "DirectoryDesktop" command butI couldn't find any "mkdir" equivalent commands; are there any options?Thanks,R.N. gap> Exec("cd ~/Desktop; mkdir blahblah"); would create the directory Desktop/blahblah This works on a Unix-like system; I am not 100% sure whether a binary installation of GAP on Windows is capable of this task, or it needs a full-blown Cygwin environment for this. Hope this helps, Dima From max at quendi.de Fri Jul 7 10:51:19 2017 From: max at quendi.de (Max Horn) Date: Fri, 7 Jul 2017 11:51:19 +0200 Subject: [GAP Forum] creating directories In-Reply-To: <2113236823.16633.1499370389159@mail.yahoo.com> References: <2113236823.16633.1499370389159.ref@mail.yahoo.com> <2113236823.16633.1499370389159@mail.yahoo.com> Message-ID: <87B64CC4-7793-4935-AE59-10C05407C9D3@quendi.de> > On 06 Jul 2017, at 21:46, R.N. Tsai wrote: > > Dear GAP Forum, > I'd like to create a directory on my desktop under GAP control. I found the "DirectoryDesktop" command butI couldn't find any "mkdir" equivalent commands; are there any options?Thanks,R.N. There is an *undocumented* kernel function CreateDir() you could use, but we make no guarantees that it'll stay (but right now, it doesn't seem likely to be removed). Or you could use IO_mkdir() from the IO package; this one is documented, but rather unix centric, so I am not sure how well it works on Windows, in case you are using that. Cheers, Max From calculus at rezozer.net Fri Jul 7 04:49:27 2017 From: calculus at rezozer.net (Jerome BENOIT) Date: Fri, 7 Jul 2017 07:49:27 +0400 Subject: [GAP Forum] creating directories In-Reply-To: <2113236823.16633.1499370389159@mail.yahoo.com> References: <2113236823.16633.1499370389159.ref@mail.yahoo.com> <2113236823.16633.1499370389159@mail.yahoo.com> Message-ID: Hi, you may have a look to the io package [1] hth, Jerome [1] http://www.gap-system.org/Packages/io.html On 06/07/17 23:46, R.N. Tsai wrote: > Dear GAP Forum, > I'd like to create a directory on my desktop under GAP control. I found the "DirectoryDesktop" command butI couldn't find any "mkdir" equivalent commands; are there any options?Thanks,R.N. > > | | Virus-free. www.avg.com | > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Jerome BENOIT | calculus+at-rezozer^dot*net https://qa.debian.org/developer.php?login=calculus at rezozer.net AE28 AE15 710D FF1D 87E5 A762 3F92 19A6 7F36 C68B From r_n_tsai at yahoo.com Fri Jul 7 18:02:08 2017 From: r_n_tsai at yahoo.com (R.N. Tsai) Date: Fri, 7 Jul 2017 17:02:08 +0000 (UTC) Subject: [GAP Forum] creating directories In-Reply-To: <87B64CC4-7793-4935-AE59-10C05407C9D3@quendi.de> References: <2113236823.16633.1499370389159.ref@mail.yahoo.com> <2113236823.16633.1499370389159@mail.yahoo.com> <87B64CC4-7793-4935-AE59-10C05407C9D3@quendi.de> Message-ID: <625625596.609608.1499446928600@mail.yahoo.com> "CreateDir()" is the simplest way and it did work on Windows; I'm trying to make my code OS independent so it would be nice if ?it is made more official in a future release.Thanks,R.N. From: Max Horn To: R.N. Tsai Cc: GAP Forum Sent: Friday, July 7, 2017 2:51 AM Subject: Re: [GAP Forum] creating directories > On 06 Jul 2017, at 21:46, R.N. Tsai wrote: > > Dear GAP Forum, > I'd like to create a directory on my desktop under GAP control. I found the "DirectoryDesktop" command butI couldn't find any "mkdir" equivalent commands; are there any options?Thanks,R.N. There is an *undocumented* kernel function ? CreateDir() you could use, but we make no guarantees that it'll stay (but right now, it doesn't seem likely to be removed). Or you could use IO_mkdir() from the IO package; this one is documented, but rather unix centric, so I am not sure how well it works on Windows, in case you are using that. Cheers, Max | | Virus-free. www.avg.com | From shubh at cub.ac.in Fri Jul 14 12:06:54 2017 From: shubh at cub.ac.in (Shubh Narayan Singh (Assistant Professor, Mathematics)) Date: Fri, 14 Jul 2017 16:36:54 +0530 Subject: [GAP Forum] Listing idempotents in terms of generators Message-ID: Let M be transformation monoid generated by two transformations f and g on the finite set. Please can someone tell the gap code, if exists, for listing all the idempotents in terms of the transformations f and g. Thank you in advance. \-Shubh *-----------------------------------------------------Shubh Narayan Singh, Ph.D.Assistant Professor * *Department of MathematicsCentral University of South BiharPatna - 800 014-----------------------------------------* *e-mail: shubh at cub.ac.in * *Mob: +91- 8404934146* From jdm3 at st-andrews.ac.uk Fri Jul 14 12:15:10 2017 From: jdm3 at st-andrews.ac.uk (James Mitchell) Date: Fri, 14 Jul 2017 11:15:10 +0000 Subject: [GAP Forum] Listing idempotents in terms of generators In-Reply-To: <5b5e4adf93ea45a38c318b73c7d2a7f1@AM5PR06MB3044.eurprd06.prod.outlook.com> References: <5b5e4adf93ea45a38c318b73c7d2a7f1@AM5PR06MB3044.eurprd06.prod.outlook.com> Message-ID: Dear Shubh, Do you mean you want to factorise the idempotents over the transformations f and g? If so, then you can do this using the semigroups package as follows: S := Semigroup(f, g); List(Idempotents(S), x -> Factorisation(S, x)); Best wishes, James On Fri, 14 Jul 2017 at 12:08 Shubh Narayan Singh (Assistant Professor, Mathematics) wrote: > Let M be transformation monoid generated by two transformations f and g on > the finite set. > > Please can someone tell the gap code, if exists, for listing all the > idempotents in terms of the transformations f and g. > > > Thank you in advance. > > \-Shubh > > > > *-----------------------------------------------------Shubh Narayan Singh, > Ph.D.Assistant Professor * > > > > *Department of MathematicsCentral University of South BiharPatna - 800 > 014-----------------------------------------* > *e-mail: shubh at cub.ac.in * > *Mob: +91- 8404934146 <+91%2084049%2034146>* > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From shubh at cub.ac.in Mon Jul 17 06:32:30 2017 From: shubh at cub.ac.in (Shubh Narayan Singh (Assistant Professor, Mathematics)) Date: Mon, 17 Jul 2017 11:02:30 +0530 Subject: [GAP Forum] Listing idempotents in terms of generators In-Reply-To: References: <5b5e4adf93ea45a38c318b73c7d2a7f1@AM5PR06MB3044.eurprd06.prod.outlook.com> Message-ID: Dear Sir, I am trying to elaborate my question: Let f:= Transformation([2,3,4,5,1]) g:=Transformation([5,4,5,1,1]), and S:=Semigroup(f, g); We observed that the idempotent h:= Transformation([1,1,1,1,1]) belongs to the semigroup S which can be written in terms of functions f and g. That is h = g^2 f^4 g. I am searching for the gap code for listing the idempotents in terms of the transformations f and g as above example. On Fri, Jul 14, 2017 at 4:45 PM, James Mitchell wrote: > Dear Shubh, > > Do you mean you want to factorise the idempotents over the transformations > f and g? If so, then you can do this using the semigroups package as > follows: > > S := Semigroup(f, g); > List(Idempotents(S), x -> Factorisation(S, x)); > > Best wishes, > > James > > On Fri, 14 Jul 2017 at 12:08 Shubh Narayan Singh (Assistant Professor, > Mathematics) wrote: > >> Let M be transformation monoid generated by two transformations f and g on >> the finite set. >> >> Please can someone tell the gap code, if exists, for listing all the >> idempotents in terms of the transformations f and g. >> >> >> Thank you in advance. >> >> \-Shubh >> >> >> >> *-----------------------------------------------------Shubh Narayan >> Singh, >> Ph.D.Assistant Professor * >> >> >> >> *Department of MathematicsCentral University of South BiharPatna - 800 >> 014-----------------------------------------* >> *e-mail: shubh at cub.ac.in * >> *Mob: +91- 8404934146 <+91%2084049%2034146>* >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > -- -- *Sincerely,* *Shubh Narayan Singh* *-----------------------------------------------------Shubh Narayan Singh, Ph.D.Assistant Professor * *Department of MathematicsCentral University of South BiharPatna - 800 014-----------------------------------------* *e-mail: shubh at cub.ac.in * *Mob: +91- 8404934146* From jdm3 at st-andrews.ac.uk Mon Jul 17 10:07:22 2017 From: jdm3 at st-andrews.ac.uk (James Mitchell) Date: Mon, 17 Jul 2017 09:07:22 +0000 Subject: [GAP Forum] Listing idempotents in terms of generators In-Reply-To: References: <5b5e4adf93ea45a38c318b73c7d2a7f1@AM5PR06MB3044.eurprd06.prod.outlook.com> Message-ID: Dear Shubh, Thanks for the clarification, the answer I gave in my last email tells you how to achieve what you are trying to do. Best wishes, James On Mon, 17 Jul 2017 at 06:33 Shubh Narayan Singh (Assistant Professor, Mathematics) wrote: > Dear Sir, > > I am trying to elaborate my question: > > Let f:= Transformation([2,3,4,5,1]) g:=Transformation([5,4,5,1,1]), > and S:=Semigroup(f, g); > > We observed that the idempotent h:= Transformation([1,1,1,1,1]) belongs to > the semigroup S > which can be written in terms of functions f and g. That is h = g^2 f^4 > g. > > I am searching for the gap code for listing the idempotents in terms of > the transformations f and g as above example. > > > On Fri, Jul 14, 2017 at 4:45 PM, James Mitchell > wrote: > >> Dear Shubh, >> >> Do you mean you want to factorise the idempotents over the >> transformations f and g? If so, then you can do this using the semigroups >> package as follows: >> >> S := Semigroup(f, g); >> List(Idempotents(S), x -> Factorisation(S, x)); >> >> Best wishes, >> >> James >> >> On Fri, 14 Jul 2017 at 12:08 Shubh Narayan Singh (Assistant Professor, >> Mathematics) wrote: >> >>> Let M be transformation monoid generated by two transformations f and g >>> on >>> the finite set. >>> >>> Please can someone tell the gap code, if exists, for listing all the >>> idempotents in terms of the transformations f and g. >>> >>> >>> Thank you in advance. >>> >>> \-Shubh >>> >>> >>> >>> *-----------------------------------------------------Shubh Narayan >>> Singh, >>> Ph.D.Assistant Professor * >>> >>> >>> >>> *Department of MathematicsCentral University of South BiharPatna - 800 >>> 014-----------------------------------------* >>> *e-mail: shubh at cub.ac.in * >>> *Mob: +91- 8404934146 <+91%2084049%2034146>* >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> > > > -- > -- > *Sincerely,* > *Shubh Narayan Singh* > > > *----------------------------------------------------- Shubh Narayan > Singh, Ph.D. Assistant Professor * > > > > *Department of Mathematics Central University of South Bihar Patna - 800 > 014 -----------------------------------------* > *e-mail: shubh at cub.ac.in * > *Mob: +91- 8404934146 <+91%2084049%2034146>* > > From z060822400814a at rezozer.net Thu Jul 20 09:31:34 2017 From: z060822400814a at rezozer.net (z060822400814a at rezozer.net) Date: Thu, 20 Jul 2017 12:31:34 +0400 Subject: [GAP Forum] build Galois lattice from an incidence array Message-ID: <5c5895ed-fde8-0405-b5ee-8fce86024c95@rezozer.net> Hello Forum, does anyone know a ready to use GAP package that allows to build the Galois lattice of a given incidence lattice ? Thanks in advance, Jerome From Max.Horn at math.uni-giessen.de Thu Jul 20 16:31:46 2017 From: Max.Horn at math.uni-giessen.de (Max Horn) Date: Thu, 20 Jul 2017 17:31:46 +0200 Subject: [GAP Forum] 2nd announcement: GAP Days Fall 2017 in Siegen Message-ID: Dear colleagues, this is the second announcement for the GAP Days Fall 2017, at the University of Siegen, September 2017 This meeting consists of two parts; you are welcome to join both or just one of them: Part 1: Workshop (Wednesday August 30 - Friday, September 1) Part 2: Code sprint (Monday, September 4 - Friday, September 8) For details please visit the homepage of the meeting: If you are interested in coming, please register. Also note that there is a limited contingent of discounted hotel rooms available, which are reserved until the end of July. We are looking forward to seeing you in Siegen! Best regards, Mohamed Barakat (local organizer), and Max Horn. -- Prof. Dr. Max Horn AG Algebra Mathematisches Institut Justus-Liebig-Universit?t Gie?en Arndtstra?e 2 D-35392 Gie?en Tel: (+49) 641 99-32044 Fax: (+49) 641 99-32049 E-Mail: max.horn at math.uni-giessen.de From rbailey at grenfell.mun.ca Thu Jul 20 18:47:51 2017 From: rbailey at grenfell.mun.ca (Bailey, Robert F.) Date: Thu, 20 Jul 2017 17:47:51 +0000 Subject: [GAP Forum] Postdoctoral fellowship in algebraic graph theory Message-ID: Dear colleague, A 16-month postdoctoral fellowship is available at Grenfell Campus, Memorial University of Newfoundland, working under my supervision. The fellowship will be in algebraic graph theory, with potential connections to permutation groups, design theory, coding theory and/or finite geometry. Applicants should have a Ph.D. in mathematics (or be near completion). The position is open to candidates of any nationality. Knowledge of GAP or similar systems may be useful. Review of applications will begin on 1 August 2017. Full details can be found at http://www2.grenfell.mun.ca/rbailey/postdoc.pdf. Please circulate this e-mail to anyone who may be interested. (Apologies if you have already seen it.) Many thanks, Robert Bailey. ============================== Dr. Robert Bailey School of Science and Environment (Mathematics) Grenfell Campus Memorial University of Newfoundland Corner Brook, NL A2H 6P9, Canada Office: AS 3022 Phone: +1 (709) 637-6293 Web: http://www2.grenfell.mun.ca/rbailey/ This electronic communication is governed by the terms and conditions at http://www.grenfell.mun.ca/campus-services/Pages/information-technology-services/electronic-communications-disclaimer.aspx From benjamin.sambale at gmail.com Tue Jul 25 05:01:04 2017 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Tue, 25 Jul 2017 06:01:04 +0200 Subject: [GAP Forum] PhD Position in Kaiserslautern Message-ID: <9818540d-3f8f-c056-024f-7abee2dba98f@gmail.com> Dear forum, a 3-years PhD position in representation theory of finite groups under my supervision is available at the TU Kaiserslautern. More information can be found at http://www.mathematik.uni-kl.de/fileadmin/AGs/agag/sambale/phd.pdf. Please forward to potential candidates. Best wishes, Benjamin From joshuahunt at math.ku.dk Tue Jul 25 08:58:57 2017 From: joshuahunt at math.ku.dk (Joshua Edward Hunt) Date: Tue, 25 Jul 2017 07:58:57 +0000 Subject: [GAP Forum] Homalg Homology result as GAP group Message-ID: <5227A1D45553C042A83669578C0CFBF7017712DF@P1KITMBX07WC04.unicph.domain> Dear forum, I'm using the homalg package to compute the homology of a chain complex, as follows: > ZZ := HomalgRingOfIntegers( );; > C2 := 1 * ZZ;; > C1 := 1 * ZZ;; > C0 := 1 * ZZ;; > d2 := HomalgMap(HomalgMatrix("[2]", 1, 1, ZZ), C2, C1);; > d1 := HomalgMap(HomalgMatrix("[0]", 1, 1, ZZ), C1, C0);; > C := HomalgComplex(C0);; > Add(C, d1);; > Add(C, d2);; > Display(Homology(C,1)); Z/< 2 > However, this isn't an actual GAP group; for example running > IsIsomorphicGroup(Homology(C,1), CyclicGroup(2)); yields an error saying it can't find a suitable method. Is there any way of coercing the result of this computation into an actual abelian group? If not, is there another package that will allow me to calculate the homology of a chain complex of abelian groups, which is specified by the (integral) matrices determining the differentials, and gives me an answer that is a GAP group? As far as I can tell from the docs, HAP doesn't support this method of constructing chain complexes. Thanks, Josh From mohamed.barakat at uni-siegen.de Thu Jul 27 10:53:47 2017 From: mohamed.barakat at uni-siegen.de (Mohamed Barakat) Date: Thu, 27 Jul 2017 11:53:47 +0200 Subject: [GAP Forum] Homalg Homology result as GAP group In-Reply-To: <5227A1D45553C042A83669578C0CFBF7017712DF@P1KITMBX07WC04.unicph.domain> References: <5227A1D45553C042A83669578C0CFBF7017712DF@P1KITMBX07WC04.unicph.domain> Message-ID: <526dc54c-a65d-4a20-a6ce-23751218a966@mail3.ad.uni-siegen.de> Dear Edward, > I'm using the homalg package to compute the homology of a chain complex, as follows: > >> ZZ := HomalgRingOfIntegers( );; >> C2 := 1 * ZZ;; >> C1 := 1 * ZZ;; >> C0 := 1 * ZZ;; >> d2 := HomalgMap(HomalgMatrix("[2]", 1, 1, ZZ), C2, C1);; >> d1 := HomalgMap(HomalgMatrix("[0]", 1, 1, ZZ), C1, C0);; >> C := HomalgComplex(C0);; >> Add(C, d1);; >> Add(C, d2);; >> Display(Homology(C,1)); > Z/< 2 > > > However, this isn't an actual GAP group; for example running > >> IsIsomorphicGroup(Homology(C,1), CyclicGroup(2)); > > yields an error saying it can't find a suitable method. > > Is there any way of coercing the result of this computation into an actual abelian group? For any homalg ZZ-module M you can always use AbelianGroup( ElementaryDivisors( M ) ); If your interest is just the isomorphism type you can use ByASmallerPresentation( M ); Display( M ); Best wishes, Mohamed From argentina.ale at gmail.com Thu Jul 27 18:51:38 2017 From: argentina.ale at gmail.com (Alejandra Alderete) Date: Thu, 27 Jul 2017 14:51:38 -0300 Subject: [GAP Forum] Idempotents Message-ID: Dear forum, Is there any command in Gap to obtain only the central idempotents of a group ring? Thanks, Silvina From Max.Horn at math.uni-giessen.de Tue Aug 1 21:31:56 2017 From: Max.Horn at math.uni-giessen.de (Max Horn) Date: Tue, 1 Aug 2017 21:31:56 +0100 Subject: [GAP Forum] Searching for maintainer(s) for ParGAP, else GAP 4.9 will not support MPI Message-ID: <02F1D7D2-7F6C-424E-ABF0-CD4C5379AD6C@math.uni-giessen.de> Dear GAP users and package authors, we are working hard on preparing GAP 4.9, which we hope to have ready this fall (fingers crossed). There have been many, many changes; but relevant for this mail is that there was some refactoring of the GAP kernel as well as new build system. This also required changes to a few packages, which mostly are already released. Unfortunately, there is one package where these changes are not quite trivial, and where nobody is working on implementing these changes, and that package is ParGAP: It digs very deeply into the GAP kernel, and also the GAP build system, which was always a somewhat fragile affair. And now that both of these changed a lot, ParGAP finally became unusable with the GAP development version (it doesn't even compile). So if we released GAP 4.9 today, ParGAP would be unusable with it, and there'd be no MPI support. For other packages, the GAP team closely collaborated with maintainers to implement fixes if necessary. But with ParGAP, there is no active maintainer, and nobody on the GAP team actually uses ParGAP, and quite frankly, none of us is interested in it. I personally am aware of exactly one person using it (Bill Allombert). We are therefore looking for (a) people who actually use ParGAP, to gauge how much interest there is in it; and (b) people who would be able and willing to take over maintenance of ParGAP, to get it working with the current GAP development version and GAP 4.9. Note that the GAP team would be happy to assist any future maintainer in adapting ParGAP. We simply do not have the resources and motivation to work on this on our own (esp. if there are few or no replies to point (a) above). By the way: An alternative to maintaining ParGAP as a separate package would be to integrate it directly into GAP, which might simplify a few things (like tracking changes to the GAP build system). Some preliminary work on this exists and is already in the GAP master branch, and I could brief anybody interested in working on it (but I don't want to write up an explanation if nobody cares anyway). So, to repeat: If nobody steps up, I am afraid GAP 4.8.x will for now be the last GAP release series to support ParGAP or MPI in any form. We'd then likely drop it from distribution. too. So if you need ParGAP, please consider helping out with maintaining it. Best regards, Max -- Prof. Dr. Max Horn AG Algebra Mathematisches Institut Justus-Liebig-Universit?t Gie?en Arndtstra?e 2 D-35392 Gie?en Tel: (+49) 641 99-32044 Fax: (+49) 641 99-32049 E-Mail: max.horn at math.uni-giessen.de From johnasimons at outlook.com Wed Aug 2 12:47:53 2017 From: johnasimons at outlook.com (John Simons) Date: Wed, 2 Aug 2017 11:47:53 +0000 Subject: [GAP Forum] Generating M11 via rational conjugacy classes. Message-ID: Dear all, I'm currently new to GAP and computer algebra systems and was wondering whether anyone knew of the easiest method to achieve the following. Suppose I have a finite simple group - let us take $M_{11}$ and let $C_1, C_2, C_3$ be a triple of rational conjugacy classes ( if necessary, for the definition of rationality, see https://math.stackexchange.com/questions/218302/a-conjugacy-class-c-is-rational-iff-cn-in-c-whenever-c-in-c-and-n-is-co). I would like to find explicit computations in GAP (or another system), such that I can find a triple of elements $g_1, g_2, g_3$ where $g_i \in C_i$ satisfies $g_1g_2g_3 = 1$ and $M_{11}$ $\cong$ $$. I know GAP has the command which allows one to see the standard generators of $M_{11}$ in cycle notation, however, I cannot seem to find an easy way to do the above. There is a command to allow one to obtain the conjugacy classes of $M_{11}$ and also rational conjugacy classes in cycle notation (though I'm unaware of how to convert this into ATLAS notation such as $1A, 2A$ etc.) Essentially, does anyone know how to run through rational conjugacy classes and arbitrarily take an element from three individual classes under the restriction places above; that the product of the three elements must be identity? Perhaps the fact that we can rewrite $g_3 = (g_1g_2)^{-1}$ simplifies the computational procedure? What I eventually would like to obtain is that the commands eventually spit out: "The conjugacy classes $2A, 4A$ and $11A$ are a triple of rational conjugacy classes satisfying the above". I know that this is feasible since it has been done in this paper: http://www.maths.qmul.ac.uk/~raw/pubs_files/sgensweb.pdf However, I cannot seem to find any actual method of implementation/commands. Thank you for your help! Regards, John From glasbys at gmail.com Wed Aug 2 16:11:01 2017 From: glasbys at gmail.com (Stephen Glasby) Date: Wed, 2 Aug 2017 16:11:01 +0100 Subject: [GAP Forum] Postdoctoral fellowship in Algebra at University of Western Australia Message-ID: For details of a 1 year postdoctoral fellowship in Algebra at the University of Western Australia see: http://external.jobs.uwa.edu.au/cw/en/job/499094/ Applications may be made online up to the closing date September 1. The salary range $90K-$100K is usual. The applicant will work with Prof. Cheryl Praeger and Dr Stephen Glasby using symmetry to gain insight into finite geometries and/or analysing densities of certain matrices in matrix groups (symplectic, unitary, orthogonal). Potential applicants who have difficulty submitting a full application by the deadline should contact Cheryl.Praeger at uwa.edu.au or Stephen.Glasby at uwa.edu.au before September 1. From max at quendi.de Wed Aug 2 19:58:45 2017 From: max at quendi.de (Max Horn) Date: Wed, 2 Aug 2017 19:58:45 +0100 Subject: [GAP Forum] Generating M11 via rational conjugacy classes. In-Reply-To: References: Message-ID: <04F8AC3F-CF16-4DCD-99CB-3B2EE1ECF201@quendi.de> Dear John, > On 02 Aug 2017, at 12:47, John Simons wrote: > > Dear all, > > I'm currently new to GAP and computer algebra systems and was wondering whether anyone knew of the easiest method to achieve the following. > > Suppose I have a finite simple group - let us take $M_{11}$ and let $C_1, C_2, C_3$ be a triple of rational conjugacy classes ( if necessary, for the definition of rationality, see https://math.stackexchange.com/questions/218302/a-conjugacy-class-c-is-rational-iff-cn-in-c-whenever-c-in-c-and-n-is-co). > > I would like to find explicit computations in GAP (or another system), such that I can find a triple of elements $g_1, g_2, g_3$ where $g_i \in C_i$ satisfies $g_1g_2g_3 = 1$ and $M_{11}$ $\cong$ $$. > > I know GAP has the command which allows one to see the standard generators of $M_{11}$ in cycle notation, however, I cannot seem to find an easy way to do the above. There is a command to allow one to obtain the conjugacy classes of $M_{11}$ and also rational conjugacy classes in cycle notation (though I'm unaware of how to convert this into ATLAS notation such as $1A, 2A$ etc.) > > Essentially, does anyone know how to run through rational conjugacy classes and arbitrarily take an element from three individual classes under the restriction places above; that the product of the three elements must be identity? Perhaps the fact that we can rewrite $g_3 = (g_1g_2)^{-1}$ simplifies the computational procedure? Absolutely. First, simplify this further: If a triple (g_1, g_2, g_3) has the require properties, then so does any of its conjugates. So it suffices to pick in the first one element g1. Then, let g2 run through all elements of the second class. This then determines g3 uniquely, and you just have to check if it lies in the third class. Finally, you have to check that M11 is generated by g1 and g2 (the element g3 is irrelevant for this). One can improve this further, but for M11 the above is enough. Try this: findNiceTriple := function(G, cls1, cls2, cls3) local g1, g2, g3; g1 := Representative(cls1); for g2 in cls2 do g3 := (g1*g2)^-1; if g3 in cls3 and M11 = Group(g1, g2) then return [g1, g2, g3]; fi; od; return fail; end; Then for example: gap> M11:=MathieuGroup(11); Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) gap> rc:=RationalClasses(M11);; gap> Length(rc); 8 gap> findNiceTriple(M11, rc[2], rc[5], rc[8]); [ (1,8)(3,9)(5,7)(10,11), (1,7,6,3,4,2,11,9,5,8,10), (1,11,2,4,9,10)(3,6,5)(7,8) ] gap> findNiceTriple(M11, rc[8], rc[8], rc[8]); [ (1,3,4,9,5,11)(2,6,10)(7,8), (1,4,7,5,10,9)(2,6,11)(3,8), (1,4,11,2,5,8)(3,7)(6,10,9) ] > > What I eventually would like to obtain is that the commands eventually spit out: > > "The conjugacy classes $2A, 4A$ and $11A$ are a triple of rational conjugacy classes satisfying the above". Replacing rational by conjugacy classes above is of course trivial. Most classes of M11 are uniquely determine by their size. leaves the two classes of size 8, resp. 11. I think the AtlasRep package can help you with identifying these, but I am not an expert on that. Cheers, Max From nikos.ap at gmail.com Wed Aug 2 20:50:48 2017 From: nikos.ap at gmail.com (Nikos Apostolakis) Date: Wed, 02 Aug 2017 19:50:48 +0000 Subject: [GAP Forum] How can I get the elements of a free product? Message-ID: Dear Forum, I want to construct the free product of n copies of ZZ/2 and work with its elements. I get some strange behavior that I can't quite understand: F := n -> FreeProduct(List([1..n], i -> CyclicGroup(2))); #==> function( n ) ... end G := n -> GeneratorsOfGroup(F(n)); #==> function( n ) ... end G(3)[2] in G(3); #==> false G(3)[2] in F(3); #==> false However: GeneratorsOfGroup(F(3)); #==> [ f1, f2, f3 ] last[1]^2*last[2] = last[2]; #==> true which is what I would expect if GeneratorsOfGroup(F(3)) gives elements of the free product. I wonder if somebody could explain this behavior? Also how can I actually get what I want? Thanks a lot for any help, Nikos From e.j.postma+gap at gmail.com Wed Aug 2 21:02:25 2017 From: e.j.postma+gap at gmail.com (Erik Postma) Date: Wed, 2 Aug 2017 16:02:25 -0400 Subject: [GAP Forum] How can I get the elements of a free product? In-Reply-To: References: Message-ID: Every time you call F, you get a new free product independent of previous calls. So when you ask if G(3)[2] in G(3), there are two different copies of F(3) in play, and similar for G(3)[2] in F(3). However, if you do: F3 := F(3); G3 := GeneratorsOfGroup(F3); G3[2] in G3; # true G3[2] in F3; # true Erik. On 2 August 2017 at 15:50, Nikos Apostolakis wrote: > Dear Forum, > > I want to construct the free product of n copies of ZZ/2 and work with its > elements. I get some strange behavior that I can't quite understand: > > F := n -> FreeProduct(List([1..n], i -> CyclicGroup(2))); #==> function( n > ) ... end > G := n -> GeneratorsOfGroup(F(n)); #==> function( n ) ... end > G(3)[2] in G(3); #==> false > G(3)[2] in F(3); #==> false > > However: > > GeneratorsOfGroup(F(3)); #==> [ f1, f2, f3 ] > last[1]^2*last[2] = last[2]; #==> true > > which is what I would expect if GeneratorsOfGroup(F(3)) gives elements of > the free product. > > I wonder if somebody could explain this behavior? Also how can I actually > get what I want? > > Thanks a lot for any help, > Nikos > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From nikos.ap at gmail.com Wed Aug 2 21:57:58 2017 From: nikos.ap at gmail.com (Nikos Apostolakis) Date: Wed, 02 Aug 2017 20:57:58 +0000 Subject: [GAP Forum] How can I get the elements of a free product? In-Reply-To: References: Message-ID: Oh, right! Thanks a lot for your help. Nikos On Wed, Aug 2, 2017 at 4:02 PM Erik Postma wrote: > Every time you call F, you get a new free product independent of previous > calls. So when you ask if G(3)[2] in G(3), there are two different copies > of F(3) in play, and similar for G(3)[2] in F(3). However, if you do: > > F3 := F(3); > G3 := GeneratorsOfGroup(F3); > G3[2] in G3; # true > G3[2] in F3; # true > > Erik. > > On 2 August 2017 at 15:50, Nikos Apostolakis wrote: > >> Dear Forum, >> >> I want to construct the free product of n copies of ZZ/2 and work with its >> elements. I get some strange behavior that I can't quite understand: >> >> F := n -> FreeProduct(List([1..n], i -> CyclicGroup(2))); #==> function( n >> ) ... end >> G := n -> GeneratorsOfGroup(F(n)); #==> function( n ) ... end >> G(3)[2] in G(3); #==> false >> G(3)[2] in F(3); #==> false >> >> However: >> >> GeneratorsOfGroup(F(3)); #==> [ f1, f2, f3 ] >> last[1]^2*last[2] = last[2]; #==> true >> >> which is what I would expect if GeneratorsOfGroup(F(3)) gives elements of >> the free product. >> >> I wonder if somebody could explain this behavior? Also how can I actually >> get what I want? >> >> Thanks a lot for any help, >> Nikos >> > _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum >> > > From johnasimons at outlook.com Thu Aug 3 19:01:52 2017 From: johnasimons at outlook.com (John Simons) Date: Thu, 3 Aug 2017 18:01:52 +0000 Subject: [GAP Forum] Generating M11 via rational conjugacy classes. In-Reply-To: <04F8AC3F-CF16-4DCD-99CB-3B2EE1ECF201@quendi.de> References: , <04F8AC3F-CF16-4DCD-99CB-3B2EE1ECF201@quendi.de> Message-ID: Dear Max, Thanks for your help - I very much appreciate it. The script does churn out some triples of elements so that's great. I was wondering however, when I try to load the script from a text editor it brings up a syntax error stating: "Syntax warning: unbound global variable in C:/gap4r8/M11.g.txt line 6 if g3 in cls3 and M11 = Group(g1, g2) then I can execute the commands "FindNiceTriple(M11, rc[2]...), however, I was wondering whether the above may cause any problems to the actual performance? I am running GAP 4.8.7 on Windows 10 if it helps. Lastly, I was curious as to why the triples that you obtained are different to the ones I've obtained? For example, when I try to FindNiceTriple(M11, rc[2], rc[5], rc[8]);, I repeatedly end up with the triple [ (1,2,9,3,4)(5,11,6,7,10), (2,10)(3,7,8,9,4,5,11,6), (1,4,2,7,9,8,6,5,3,11,10)]. Would it be possible to obtain other triples running the script -i.e to list further examples triples than simply ending at locating one or is there some ancient sorcery at play here? Many thanks once again, John ________________________________ From: Max Horn Sent: Wednesday, August 2, 2017 11:58:45 AM To: John Simons Cc: GAP Forum Subject: Re: [GAP Forum] Generating M11 via rational conjugacy classes. Dear John, > On 02 Aug 2017, at 12:47, John Simons wrote: > > Dear all, > > I'm currently new to GAP and computer algebra systems and was wondering whether anyone knew of the easiest method to achieve the following. > > Suppose I have a finite simple group - let us take $M_{11}$ and let $C_1, C_2, C_3$ be a triple of rational conjugacy classes ( if necessary, for the definition of rationality, see https://math.stackexchange.com/questions/218302/a-conjugacy-class-c-is-rational-iff-cn-in-c-whenever-c-in-c-and-n-is-co). [https://cdn.sstatic.net/Sites/math/img/apple-touch-icon at 2.png?v=4ec1df2e49b1] A conjugacy class $C$ is rational iff $c^n\\in C$ whenever ... math.stackexchange.com Let $C$ be a conjugacy class of the finite group $G$. Say that $C$ is rational if for each character $\chi: G \rightarrow \mathbb C$ of $G$, for each $c\in C$, we ... > > I would like to find explicit computations in GAP (or another system), such that I can find a triple of elements $g_1, g_2, g_3$ where $g_i \in C_i$ satisfies $g_1g_2g_3 = 1$ and $M_{11}$ $\cong$ $$. > > I know GAP has the command which allows one to see the standard generators of $M_{11}$ in cycle notation, however, I cannot seem to find an easy way to do the above. There is a command to allow one to obtain the conjugacy classes of $M_{11}$ and also rational conjugacy classes in cycle notation (though I'm unaware of how to convert this into ATLAS notation such as $1A, 2A$ etc.) > > Essentially, does anyone know how to run through rational conjugacy classes and arbitrarily take an element from three individual classes under the restriction places above; that the product of the three elements must be identity? Perhaps the fact that we can rewrite $g_3 = (g_1g_2)^{-1}$ simplifies the computational procedure? Absolutely. First, simplify this further: If a triple (g_1, g_2, g_3) has the require properties, then so does any of its conjugates. So it suffices to pick in the first one element g1. Then, let g2 run through all elements of the second class. This then determines g3 uniquely, and you just have to check if it lies in the third class. Finally, you have to check that M11 is generated by g1 and g2 (the element g3 is irrelevant for this). One can improve this further, but for M11 the above is enough. Try this: findNiceTriple := function(G, cls1, cls2, cls3) local g1, g2, g3; g1 := Representative(cls1); for g2 in cls2 do g3 := (g1*g2)^-1; if g3 in cls3 and M11 = Group(g1, g2) then return [g1, g2, g3]; fi; od; return fail; end; Then for example: gap> M11:=MathieuGroup(11); Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) gap> rc:=RationalClasses(M11);; gap> Length(rc); 8 gap> findNiceTriple(M11, rc[2], rc[5], rc[8]); [ (1,8)(3,9)(5,7)(10,11), (1,7,6,3,4,2,11,9,5,8,10), (1,11,2,4,9,10)(3,6,5)(7,8) ] gap> findNiceTriple(M11, rc[8], rc[8], rc[8]); [ (1,3,4,9,5,11)(2,6,10)(7,8), (1,4,7,5,10,9)(2,6,11)(3,8), (1,4,11,2,5,8)(3,7)(6,10,9) ] > > What I eventually would like to obtain is that the commands eventually spit out: > > "The conjugacy classes $2A, 4A$ and $11A$ are a triple of rational conjugacy classes satisfying the above". Replacing rational by conjugacy classes above is of course trivial. Most classes of M11 are uniquely determine by their size. leaves the two classes of size 8, resp. 11. I think the AtlasRep package can help you with identifying these, but I am not an expert on that. Cheers, Max From marcusleaver at hotmail.com Fri Aug 4 13:14:36 2017 From: marcusleaver at hotmail.com (Mark Leaver) Date: Fri, 4 Aug 2017 12:14:36 +0000 Subject: [GAP Forum] Transitive groups up to degree 15. Message-ID: Hi, https://math.uni-paderborn.de/fileadmin/mathematik/AG-Computeralgebra/Publications-klueners/gal15.pdf It's been about 20 years since the publication of this paper by Kluners and Malle and in it they provide a method of determining certain transitive groups of up to degree 15 using the rigidity method for simple groups (as one can see in the tables provided at the end). Furthermore, they additionally provide explicit constructions of polynomials over Q with regards to the transitive subgroups. They mention on page 14 that this was achieved by GAP. My question is twofold: 1) Since it has been 20 years and methods may have changed, is anyone aware of the quickest implementation (an avaiable script) of the rigidity method (section 2.1.1) as mentioned in GAP in order to realize transitive groups up to degree 15 (or higher if it is possible). 2)Additionally, they state a list of varying algorithms in order to determine the polynomials of the associated Galois groups. Is there a standard implementation/script available on GAP for this in having some transitive group of a similar degree (as they've done) and obtain some polynomial to be realized over Q. Many thanks, Mark From marcusleaver at hotmail.com Fri Aug 4 14:17:53 2017 From: marcusleaver at hotmail.com (Mark Leaver) Date: Fri, 4 Aug 2017 13:17:53 +0000 Subject: [GAP Forum] Transitive groups up to degree 15. Message-ID: Hi, https://math.uni-paderborn.de/fileadmin/mathematik/AG-Computeralgebra/Publications-klueners/gal15.pdf It's been about 20 years since the publication of this paper by Kluners and Malle and in it they provide a method of determining certain transitive groups of up to degree 15 using the rigidity method for simple groups (as one can see in the tables provided at the end). Furthermore, they additionally provide explicit constructions of polynomials over Q with regards to the transitive subgroups. They mention on page 14 that this was achieved by GAP. My question is twofold: 1) Since it has been 20 years and methods may have changed, is anyone aware of the quickest implementation (an avaiable script) of the rigidity method (section 2.1.1) as mentioned in GAP in order to realize transitive groups up to degree 15 (or higher if it is possible) as Galois groups over Q? 2)Additionally, they state a list of varying algorithms in order to determine the polynomials of the associated transitive groups. Is there a standard implementation/script available on GAP nowadays for this in having some transitive group of a similar degree (as they've done) and obtain some polynomial realized over Q. Many thanks, Mark From siddhartha18 at gmail.com Fri Aug 11 22:32:43 2017 From: siddhartha18 at gmail.com (Siddhartha Sarkar) Date: Sat, 12 Aug 2017 03:02:43 +0530 Subject: [GAP Forum] p-groups of maximal class Message-ID: Dear Forum, Is there any code to compute the two step centralisers and the degree of commutativity of a small order p-group of maximal class? Thanks in advance, Siddhartha From joshuahunt at math.ku.dk Mon Aug 14 13:04:48 2017 From: joshuahunt at math.ku.dk (Joshua Edward Hunt) Date: Mon, 14 Aug 2017 12:04:48 +0000 Subject: [GAP Forum] HomalgComplex with sparse matrices Message-ID: <5227A1D45553C042A83669578C0CFBF701774371@P1KITMBX07WC04.unicph.domain> Dear forum, I'm confused by the following behaviour: > ZZ := HomalgRingOfIntegers(); > x := 2 / ZZ; 2 > x in ZZ; false I'm trying to construct a sparse matrix using Gauss, then feed that into Homalg (using GaussForHomalg), e.g. as follows: > d := SparseZeroMatrix(2, 2, ZZ); > SetEntry(d, 1, 1, 2); > complex := HomalgComplex( 2 * ZZ); > Add(complex, HomalgMatrix(d, ZZ)); This causes an error on the "SetEntry" line where it complains that 2 isn't in ZZ. (Nor are "2 / ZZ" or "2 * One(ZZ)" or various other similar combinations.) I've also tried replacing HomalgRingOfIntegers with just Integers, which makes "SetEntry" happy but then fails later on when I try to add the sparse matrix to the complex. Is there some combination of commands I can use to make both Gauss and Homalg happy? Many thanks, Josh From mohamed.barakat at uni-siegen.de Mon Aug 14 13:48:35 2017 From: mohamed.barakat at uni-siegen.de (Mohamed Barakat) Date: Mon, 14 Aug 2017 14:48:35 +0200 Subject: [GAP Forum] HomalgComplex with sparse matrices In-Reply-To: <5227A1D45553C042A83669578C0CFBF701774371@P1KITMBX07WC04.unicph.domain> References: <5227A1D45553C042A83669578C0CFBF701774371@P1KITMBX07WC04.unicph.domain> Message-ID: <6b0f5dea-9586-4c24-8f75-49676ec48a67@mail1.ad.uni-siegen.de> Dear Joshua, > I'm confused by the following behaviour: > >> ZZ := HomalgRingOfIntegers(); >> x := 2 / ZZ; > 2 This is in fact a no-op; we didn?t wan?t to wrap GAP?s efficient integers. >> x in ZZ; > false In the next GAP release it will return true. But as mentioned, this is faked, but will fix the bug you encounter below. However, we recommend to avoid using Gauss directly, see below: > I'm trying to construct a sparse matrix using Gauss, then feed that into Homalg (using GaussForHomalg), e.g. as follows: > >> d := SparseZeroMatrix(2, 2, ZZ); >> SetEntry(d, 1, 1, 2); >> complex := HomalgComplex( 2 * ZZ); >> Add(complex, HomalgMatrix(d, ZZ)); > > This causes an error on the "SetEntry" line where it complains that 2 isn't in ZZ. (Nor are "2 / ZZ" or "2 * One(ZZ)" or various other similar combinations.) I've also tried replacing HomalgRingOfIntegers with just Integers, which makes "SetEntry" happy but then fails later on when I try to add the sparse matrix to the complex. > > Is there some combination of commands I can use to make both Gauss and Homalg happy? The problem here is that Gauss does not support sparse matrices over the ring of integers, since it contains no implementation for sparse HNF. In general you can do everything with HomalgMatrix and the proper Gauss sparse matrices will be constructed in the background, if supported: ## Gauss supports the following: gap> HomalgInitialMatrix( 2, 2, HomalgFieldOfRationals() ); gap> Eval( last ); gap> HomalgInitialMatrix( 2, 2, HomalgRingOfIntegers( 2 ) ); gap> Eval( last ); gap> HomalgInitialMatrix( 2, 2, HomalgRingOfIntegers( 4 ) ); gap> Eval( last ); ## Gauss does not support the following gap> HomalgInitialMatrix( 2, 2, HomalgRingOfIntegers() / 2 ); gap> Eval( last ); gap> HomalgInitialMatrix( 2, 2, HomalgRingOfIntegers() ); gap> Eval( last ); I hope this helps. Best regards, Mohamed From johnathonasimons at outlook.com Thu Aug 17 12:10:14 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Thu, 17 Aug 2017 11:10:14 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. Message-ID: Hi everyone, I'm interested in finding rigid triples for simple groups ? Let G be a simple group and g_i in a conjugacy class C_i of G. We say that G is rationally rigid if: 1)G = 2)g_1*g_2*g_3 = 1 3)http://www.maths.qmul.ac.uk/~raw/pubs_files/sgensweb.pdf (page 3 provides the condition of the ?symmetrised structure constant? and it being = 1). Standard generators for sporadic simple groups - QMUL Maths www.maths.qmul.ac.uk Standard generators for sporadic simple groups Robert A. Wilson School of Mathematics and Statistics, The University of Birmingham, Edgbaston, Birmingham B15 2TT If one looks to page 4 of the above document it provides the same definition of rational rigid generators of the group. So far, I have a method of plugging in arbitrary triples of conjugacy classes to verify whether a group G can be expressed as a random triple of elements from a conjugacy class (see below). ?findNiceTriple := function(G, cls1, cls2, cls3) local g1, g2, g3; g1 := Representative(cls1); for g2 in cls2 do g3 := (g1*g2)^-1; if g3 in cls3 and M11 = Group(g1, g2) then return [g1, g2, g3]; fi; od; return fail; end; Then for example for the Mathieu simple group (M11): gap> M11:=MathieuGroup(11); Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) gap> rc:=RationalClasses(M11);; gap> Length(rc); 8 gap> findNiceTriple(M11, rc[2], rc[5], rc[8]); [ (1,8)(3,9)(5,7)(10,11), (1,7,6,3,4,2,11,9,5,8,10), (1,11,2,4,9,10)(3,6,5)(7,8) ] gap> findNiceTriple(M11, rc[8], rc[8], rc[8]); [ (1,3,4,9,5,11)(2,6,10)(7,8), (1,4,7,5,10,9)(2,6,11)(3,8), (1,4,11,2,5,8)(3,7)(6,10,9) ]? Questions: Could someone please direct me towards a method of also implementing the third condition (that of the ?symmetrized structure constant? being equal to 1 ? if the code could some how calculate the value of the constant so to realize whether the group can be seen as rationally rigid). Secondly, the above works for random rational classes, but in the literature, conjugacy classes are written in ATLAS notation (e.g 2A, 2B which signify the order of the elements in the class are 2 and according to http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/doc/manual.pdf the alphabet signifies a decreasing cenralizer order). Could someone also help me so that the code focusses only on rational conjugacy classes (rational classes are implemented on GAP) in ATLAS notation because if I?m not mistaken there is a difference between the class 2A/2B which I?m not sure of how to differentiate in the notation ?rc[2]?. AtlasRep A GAP 4 Package - math.rwth-aachen.de www.math.rwth-aachen.de AtlasRep ? A GAP 4 Package (Version 1.5.1) Robert A. Wilson Richard A. Parker Simon Nickerson John N. Bray Thomas Breuer Robert A. Wilson Email: R.A.Wilson at qmul.ac.uk Essentially, I just want to check whether the group M11 has rationally rigid generators and this appears to be the most standard method. If any one knows of any simpler method I would be more than appreciative. With the deepest regards, John From sam at Math.RWTH-Aachen.De Thu Aug 17 15:18:19 2017 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Thu, 17 Aug 2017 16:18:19 +0200 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: References: Message-ID: <20170817141819.GA16213@localhost.localdomain> Dear GAP Forum, Jonathon Simons asked about a way to compute symmetrized structure constants in GAP. The function 'ClassStructureCharTable' does almost what one wants. In the case of triples, the result of that function has to be divided by the group order. In the example of the Mathieu group M11, this could look as follows. (For the sake of simplicity, I am using the character table from GAP's library.) gap> t:= CharacterTable( "M11" ); CharacterTable( "M11" ) gap> Size( t ); 7920 gap> OrdersClassRepresentatives( t ); [ 1, 2, 3, 4, 5, 6, 8, 8, 11, 11 ] gap> ClassStructureCharTable( t, [ 2, 4, 9 ] ) / Size( t ); 1 This means that the symmetrized structure constant for a triple of classes of element orders 2, 4, and 11 has the value 1. I am not sure whether I understand the second question, about rational conjugacy classes. The class names in ATLAS notation (2A, 2B, ...) refer always to conjugacy classes, not to rational classes. If one has the set of conjugacy classes and wants to decide whether the G-conjugacy class of the element g is rational then one can check whether all generators of the cyclic group generated by g are conjugate in G. (If one knows the character table of G then one could also check whether all irreducible characters are rational at g.) All the best, Thomas On Thu, Aug 17, 2017 at 11:10:14AM +0000, johnathon simons wrote: > Hi everyone, > > I'm interested in finding rigid triples for simple groups ? Let G be a simple group and g_i in a conjugacy class C_i of G. We say that G is rationally rigid if: > 1)G = > 2)g_1*g_2*g_3 = 1 > 3)http://www.maths.qmul.ac.uk/~raw/pubs_files/sgensweb.pdf (page 3 provides the condition of the ?symmetrised structure constant? and it being = 1). > Standard generators for sporadic simple groups - QMUL Maths > www.maths.qmul.ac.uk > Standard generators for sporadic simple groups Robert A. Wilson School of Mathematics and Statistics, The University of Birmingham, Edgbaston, Birmingham B15 2TT > > > > If one looks to page 4 of the above document it provides the same definition of rational rigid generators of the group. > > So far, I have a method of plugging in arbitrary triples of conjugacy classes to verify whether a group G can be expressed as a random triple of elements from a conjugacy class (see below). > > > ?findNiceTriple := function(G, cls1, cls2, cls3) > local g1, g2, g3; > g1 := Representative(cls1); > for g2 in cls2 do > g3 := (g1*g2)^-1; > if g3 in cls3 and M11 = Group(g1, g2) then > return [g1, g2, g3]; > fi; > od; > return fail; > end; > > Then for example for the Mathieu simple group (M11): > > gap> M11:=MathieuGroup(11); > Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6) ]) > gap> rc:=RationalClasses(M11);; > gap> Length(rc); > 8 > gap> findNiceTriple(M11, rc[2], rc[5], rc[8]); > [ (1,8)(3,9)(5,7)(10,11), (1,7,6,3,4,2,11,9,5,8,10), (1,11,2,4,9,10)(3,6,5)(7,8) ] > gap> findNiceTriple(M11, rc[8], rc[8], rc[8]); > [ (1,3,4,9,5,11)(2,6,10)(7,8), (1,4,7,5,10,9)(2,6,11)(3,8), (1,4,11,2,5,8)(3,7)(6,10,9) ]? > > Questions: > > Could someone please direct me towards a method of also implementing the third condition (that of the ?symmetrized structure constant? being equal to 1 ? if the code could some how calculate the value of the constant so to realize whether the group can be seen as rationally rigid). > > Secondly, the above works for random rational classes, but in the literature, conjugacy classes are written in ATLAS notation (e.g 2A, 2B which signify the order of the elements in the class are 2 and according to http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/doc/manual.pdf the alphabet signifies a decreasing cenralizer order). Could someone also help me so that the code focusses only on rational conjugacy classes (rational classes are implemented on GAP) in ATLAS notation because if I?m not mistaken there is a difference between the class 2A/2B which I?m not sure of how to differentiate in the notation ?rc[2]?. > AtlasRep A GAP 4 Package - math.rwth-aachen.de > www.math.rwth-aachen.de > AtlasRep ? A GAP 4 Package (Version 1.5.1) Robert A. Wilson Richard A. Parker Simon Nickerson John N. Bray Thomas Breuer Robert A. Wilson Email: R.A.Wilson at qmul.ac.uk > > > > Essentially, I just want to check whether the group M11 has rationally rigid generators and this appears to be the most standard method. If any one knows of any simpler method I would be more than appreciative. > > With the deepest regards, > > John From johnathonasimons at outlook.com Sat Aug 19 16:06:18 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Sat, 19 Aug 2017 15:06:18 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. Message-ID: Dear Thomas, Thank you for your helpful comments on calculating the symmetrised structure constant. Perhaps my understanding of rational classes is incorrect, but I have taken it from this equivalence: https://math.stackexchange.com/questions/218302/a-conjugacy-class-c-is-rational-iff-cn-in-c-whenever-c-in-c-and-n-is-co >From my understanding of that, we would say a conjugacy class is rational if every entry of it in the character table is rational under the respective column. However, using my reasoning, if we look at M11, under the columns 8a and 8b it has entries of A = -sqrt(-2) and also underneath 11a and 11b it has entries B = (-1 - sqrt(-11)/2) both which are not rational and so that would mean M11 has only 6 rational classes (it has a total of 10 conjugacy classes) But, using the "RationalClasses" function on GAP we know that M11 has 8 rational classes. I'm certain I am mistaken in my reasoning/interpretation of the character table and would very much be appreciative of an explanation. Essentially, all I am trying to do is find a triple of conjugacy classes (that are rational) such that a triple (g_1, g_2, g_3) of elements satisfies the rigidity condition of Thompson to realize the group M11 as Galois over Q. I am very much appreciative for all your help, John [https://cdn.sstatic.net/Sites/math/img/apple-touch-icon at 2.png?v=4ec1df2e49b1] A conjugacy class $C$ is rational iff $c^n\\in C$ whenever ... math.stackexchange.com Let $C$ be a conjugacy class of the finite group $G$. Say that $C$ is rational if for each character $\chi: G \rightarrow \mathbb C$ of $G$, for each $c\in C$, we ... Sent from Outlook From Alexander.Hulpke at colostate.edu Sat Aug 19 16:45:13 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 19 Aug 2017 15:45:13 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: References: Message-ID: <5715E5CF-558C-4705-BF1F-2759782A0FFC@colostate.edu> Dear Forum, Just a very brief note on one remark: > Essentially, all I am trying to do is find a triple of conjugacy classes (that are rational) such that a triple (g_1, g_2, g_3) of elements satisfies the rigidity condition of Thompson to realize the group M11 as Galois over Q. My understanding (for details see the Book on representation theory by Lux and Pahlings, and ultimately ? as they refer to it ? the book by Malle and Matzat) is that the rigidity criterion only realizes M11 over a number field and further work is needed to obtain a rational realization from this. Regards, Alexander Hulpke > > I am very much appreciative for all your help, > > > John > > > [https://cdn.sstatic.net/Sites/math/img/apple-touch-icon at 2.png?v=4ec1df2e49b1] > > A conjugacy class $C$ is rational iff $c^n\\in C$ whenever ... > math.stackexchange.com > Let $C$ be a conjugacy class of the finite group $G$. Say that $C$ is rational if for each character $\chi: G \rightarrow \mathbb C$ of $G$, for each $c\in C$, we ... > > > > > Sent from Outlook > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From sl4 at st-andrews.ac.uk Sat Aug 19 18:54:11 2017 From: sl4 at st-andrews.ac.uk (Stephen Linton) Date: Sat, 19 Aug 2017 17:54:11 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: References: Message-ID: <636B610F-EDE6-4ADD-B486-FEB810B4AAB1@st-andrews.ac.uk> Each of the pairs of non-rational conjugacy classes ? the two containing elements of order 11 and the two containing elements of order 8 form a rational class (at least in the sense used by the GAP command) when combined. Hence the total of 8 (6 single conjugacy classes and 2 pairs). See the GAP documentation under RationalClass and RationalClasses for details. > On 19 Aug 2017, at 16:06, johnathon simons wrote: > > Dear Thomas, > > > Thank you for your helpful comments on calculating the symmetrised structure constant. > > > Perhaps my understanding of rational classes is incorrect, but I have taken it from this equivalence: https://math.stackexchange.com/questions/218302/a-conjugacy-class-c-is-rational-iff-cn-in-c-whenever-c-in-c-and-n-is-co > >> From my understanding of that, we would say a conjugacy class is rational if every entry of it in the character table is rational under the respective column. However, using my reasoning, if we look at M11, under the columns 8a and 8b it has entries of A = -sqrt(-2) and also underneath 11a and 11b it has entries B = (-1 - sqrt(-11)/2) both which are not rational and so that would mean M11 has only 6 rational classes (it has a total of 10 conjugacy classes) > > > But, using the "RationalClasses" function on GAP we know that M11 has 8 rational classes. I'm certain I am mistaken in my reasoning/interpretation of the character table and would very much be appreciative of an explanation. > > Essentially, all I am trying to do is find a triple of conjugacy classes (that are rational) such that a triple (g_1, g_2, g_3) of elements satisfies the rigidity condition of Thompson to realize the group M11 as Galois over Q. > > I am very much appreciative for all your help, > > > John > > > [https://cdn.sstatic.net/Sites/math/img/apple-touch-icon at 2.png?v=4ec1df2e49b1] > > A conjugacy class $C$ is rational iff $c^n\\in C$ whenever ... > math.stackexchange.com > Let $C$ be a conjugacy class of the finite group $G$. Say that $C$ is rational if for each character $\chi: G \rightarrow \mathbb C$ of $G$, for each $c\in C$, we ... > > > > > Sent from Outlook > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From johnathonasimons at outlook.com Sat Aug 19 19:17:30 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Sat, 19 Aug 2017 18:17:30 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: <5715E5CF-558C-4705-BF1F-2759782A0FFC@colostate.edu> References: , <5715E5CF-558C-4705-BF1F-2759782A0FFC@colostate.edu> Message-ID: Dear Forum, Thank you all for your help. I seem to find myself running in circles with this topic. Could someone help me understand why it is not sufficient for a sporadic group G that if: 1) G = , with g_i an element of a rational conjugacy class. 2) g_1*g_2*g_3 = 1 3) The symmetrised structure constant (as defined in the response by Thomas) equals 1. 4) that simply that for a sporadic group G, finding a triple generator = G with g_1*g_2*g_3 = 1, and the symmetrised structure constant (as being defined in the previous response of Thomas) being equal to 1 does not sufficiently determine rational rigidity (i.e that G is a Galois group over Q)? I have looked at the book by Lax and at Page 132 (Theorem 2.5.19) and isn't the above essentially what it is saying; that if one can realize a centreless group (true for sporadic groups) as a rigid tuple of rational conjugacy classes then the group G is Galois over Q? Best, John Sent from Outlook ________________________________ From: Hulpke,Alexander Sent: Saturday, August 19, 2017 8:45:13 AM To: johnathon simons Cc: forum at mail.gap-system.org; sam at math.rwth-aachen.de Subject: Re: [GAP Forum] Generating a group from a triple of elements. Dear Forum, Just a very brief note on one remark: > Essentially, all I am trying to do is find a triple of conjugacy classes (that are rational) such that a triple (g_1, g_2, g_3) of elements satisfies the rigidity condition of Thompson to realize the group M11 as Galois over Q. My understanding (for details see the Book on representation theory by Lux and Pahlings, and ultimately ? as they refer to it ? the book by Malle and Matzat) is that the rigidity criterion only realizes M11 over a number field and further work is needed to obtain a rational realization from this. Regards, Alexander Hulpke > > I am very much appreciative for all your help, > > > John > > > [https://cdn.sstatic.net/Sites/math/img/apple-touch-icon at 2.png?v=4ec1df2e49b1] > > A conjugacy class $C$ is rational iff $c^n\\in C$ whenever ... > math.stackexchange.com > Let $C$ be a conjugacy class of the finite group $G$. Say that $C$ is rational if for each character $\chi: G \rightarrow \mathbb C$ of $G$, for each $c\in C$, we ... > > > > > Sent from Outlook > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From jiverson at math.umd.edu Mon Aug 21 15:47:24 2017 From: jiverson at math.umd.edu (Joey Iverson) Date: Mon, 21 Aug 2017 10:47:24 -0400 Subject: [GAP Forum] Comparing real numbers Message-ID: Dear GAP forum, I was recently caught off guard by the following: gap> Sqrt(2)<2; false Now that I've read the manual more carefully, I don't think this is a malfunction. Instead, it looks like GAP will always report irrational cyclotomics to be larger than rationals. Does anybody know of a workaround that compares real numbers with their usual ordering instead? Suppose we agree that E(n) = exp(2*pi*i/n). As a last resort, I suppose I could run GAP inside of SAGE and get numerical approximations of everything, but I would like to avoid that if possible. Thanks for any advice! Joey Iverson Research Associate University of Maryland, College Park From caj21 at st-andrews.ac.uk Mon Aug 21 21:06:43 2017 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Mon, 21 Aug 2017 20:06:43 +0000 Subject: [GAP Forum] Comparing real numbers In-Reply-To: References: Message-ID: <44A1F1FA-5E3D-48F4-A55D-05377F254C1C@st-andrews.ac.uk> Just as an extension to this, note that cyclotomics are also not in the order you might expect. We can see here that all the squares end up first, but the other square roots end up in an unexpected order. Chris gap> l := List([1..20], Sqrt);; gap> Sort(l); gap> List(l, x -> x*x); [ 1, 4, 9, 16, 5, 20, 2, 8, 18, 12, 3, 13, 17, 6, 7, 10, 11, 14, 15, 19 ] > On 21 Aug 2017, at 15:47, Joey Iverson wrote: > > Dear GAP forum, > > I was recently caught off guard by the following: > > gap> Sqrt(2)<2; > false > > Now that I've read the manual more carefully, I don't think this is a > malfunction. Instead, it looks like GAP will always report irrational > cyclotomics to be larger than rationals. > > Does anybody know of a workaround that compares real numbers with their > usual ordering instead? Suppose we agree that E(n) = exp(2*pi*i/n). > > As a last resort, I suppose I could run GAP inside of SAGE and get > numerical approximations of everything, but I would like to avoid that if > possible. > > > Thanks for any advice! > > Joey Iverson > Research Associate > University of Maryland, College Park > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From e.obrien at auckland.ac.nz Mon Aug 21 22:18:54 2017 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Tue, 22 Aug 2017 09:18:54 +1200 Subject: [GAP Forum] Kalman Visiting Fellowship in Mathematics at the University of Auckland Message-ID: <64ed8ee6-c653-f934-6d25-b717a0c3eaa4@auckland.ac.nz> Dear Colleagues: I would be grateful if you can draw the attention of your colleagues to a prestigious Visiting Fellowship at the University of Auckland. The purpose of the Kalman Visiting Fellowship is to enable a ?rising star? in mathematics and its applications to visit the University of Auckland. The Fellowship is for a person within 10 years of PhD. It is worth NZ$10,000, and can be spent on travel, accommodation, or other associated expenses. Full details of the Fellowship, including the simple application process, can be found at http://www.science.auckland.ac.nz/en/about/notices/notices-2017/08/john-kalman-visiting-fellowship-2018.html The closing date for applications is 15^th September 2017. I am happy to provide further information. Previous recipients of the Fellowship are Tim Burness (Bristol), Jiawang Nie (UCSD), and Andy Hammerlindl (Monash). Best wishes. Eamonn O'Brien From frank.luebeck at math.rwth-aachen.de Tue Aug 22 11:32:50 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Tue, 22 Aug 2017 12:32:50 +0200 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: References: <5715E5CF-558C-4705-BF1F-2759782A0FFC@colostate.edu> Message-ID: <20170822103249.GA25984@localhost.localdomain> Dear John, dear Forum, It seems that the mix up of two terms for finite groups leads to some confusion: "rational class": this is a union of conjugacy classes of the group, the rational class of an element x in a group G is the union of the conjugacy classes containing x^k for all k in Z with gcd(k,|x|) = 1. Equivalently, x and y in G are in the same rational class if the cyclic groups and are conjugate in G. "rational conjugacy class": this is a conjugacy class which is a full rational class. Rational conjugacy classes can be read off from the character table of G, these are the conjugacy classes on which all irreducible characters have integer values. For the example M11: There a 10 conjugacy classes and 6 rational conjugacy classes, the unions of classes 8a and 8b and of classes 11a with 11b form two more rational classes (so altogether there are 8 rational classes, this is what you get by the command 'RationalClasses' in GAP). On Sat, Aug 19, 2017 at 06:17:30PM +0000, johnathon simons wrote: > I seem to find myself running in circles with > this topic. Could someone help me understand why it is not sufficient for > a sporadic group G that if: > > 1) G = , with g_i an element of a rational conjugacy class. > 2) g_1*g_2*g_3 = 1 > 3) The symmetrised structure constant (as defined in the response by Thomas) equals 1. > 4) > that simply that for a sporadic group G, finding a triple generator > = G with g_1*g_2*g_3 = 1, and the symmetrised structure > constant (as being defined in the previous response of Thomas) being equal > to 1 does not sufficiently determine rational rigidity (i.e that G is a > Galois group over Q)? Yes, if G is simple and you find elements g_1, g_2, g_3 as in 1), 2), 3) then this is a sufficient criterion for G being a Galois group over Q. But your example M11 does not have a rational rigid triple (the structure constant computation discussed before involved elements of order 11 which do not ly in a "rational conjugacy class". There also is a generalization of the rigidity criterion for n-tuples. M11 does also not contain rational rigid n-tuples for any n. Nevertheless, it can be shown that M11 is a Galois group over Q with a more complicated twisted version of the rigidity criterion. I recommend the book Malle, Matzat, "Inverse Galois Theory", Springer, 1999 for more details. Theorem I.6.12 handles M11. Best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From frank.luebeck at math.rwth-aachen.de Tue Aug 22 17:36:37 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Tue, 22 Aug 2017 18:36:37 +0200 Subject: [GAP Forum] Comparing real numbers In-Reply-To: References: Message-ID: <20170822163636.GF25984@localhost.localdomain> On Mon, Aug 21, 2017 at 10:47:24AM -0400, Joey Iverson wrote: > Dear GAP forum, > > I was recently caught off guard by the following: > > gap> Sqrt(2)<2; > false > > Now that I've read the manual more carefully, I don't think this is a > malfunction. Instead, it looks like GAP will always report irrational > cyclotomics to be larger than rationals. > > Does anybody know of a workaround that compares real numbers with their > usual ordering instead? Suppose we agree that E(n) = exp(2*pi*i/n). > > As a last resort, I suppose I could run GAP inside of SAGE and get > numerical approximations of everything, but I would like to avoid that if > possible. > > > Thanks for any advice! > > Joey Iverson > Research Associate > University of Maryland, College Park Dear Joey, dear Forum, Comparisons of real cyclotomic numbers in the natural ordering of the reals depend on the choice of embeddings of E(n) into the complex plane. The only way I know to decide if a real cyclotomic number is positive is indeed by using numerical approximations. I have a small package http://www.math.rwth-aachen.de/~Frank.Luebeck/gap/FUtil/ which can be used as a workaround. It contains a function 'HasPositiveRealPartCyc' which decides what its name suggests. It uses numerical approximations and a simple interval arithmetic and automatically enlarges precision if needed. The function assumes the suggested embedding E(n) = exp(2*pi*i/n). Best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From markus.pfeiffer at st-andrews.ac.uk Tue Aug 22 21:12:28 2017 From: markus.pfeiffer at st-andrews.ac.uk (Markus Pfeiffer) Date: Tue, 22 Aug 2017 21:12:28 +0100 Subject: [GAP Forum] [GAP] Searching for maintainer(s) for ParGAP, else GAP 4.9 will not support MPI In-Reply-To: <02F1D7D2-7F6C-424E-ABF0-CD4C5379AD6C@math.uni-giessen.de> References: <02F1D7D2-7F6C-424E-ABF0-CD4C5379AD6C@math.uni-giessen.de> Message-ID: Dear all, since we did not receive any messages from volunteers or strong objections, we will merge the pull request at https://github.com/gap-system/gap/pull/1487 on Friday, thus removing MPI support from the GAP kernel. We will also discuss the removal of ParGAP from the GAP distribution from 4.9 onwards at the coming GAP days in Siegen (http://gapdays.de/gapdays2017-fall/), as it will not work anymore. Cheers, Markus From johnathonasimons at outlook.com Thu Aug 24 09:46:54 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Thu, 24 Aug 2017 08:46:54 +0000 Subject: [GAP Forum] Generating a group from a triple of elements. In-Reply-To: <20170822103249.GA25984@localhost.localdomain> References: <5715E5CF-558C-4705-BF1F-2759782A0FFC@colostate.edu> , <20170822103249.GA25984@localhost.localdomain> Message-ID: Dear forum, Thank you ever so much for all your help. I've come to terms with the issues mentioned above. Hope you all have a wonderful day! Best, John Sent from Outlook ________________________________ From: Frank L?beck Sent: Tuesday, August 22, 2017 3:32:50 AM To: johnathon simons; forum at gap-system.org Subject: Re: [GAP Forum] Generating a group from a triple of elements. Dear John, dear Forum, It seems that the mix up of two terms for finite groups leads to some confusion: "rational class": this is a union of conjugacy classes of the group, the rational class of an element x in a group G is the union of the conjugacy classes containing x^k for all k in Z with gcd(k,|x|) = 1. Equivalently, x and y in G are in the same rational class if the cyclic groups and are conjugate in G. "rational conjugacy class": this is a conjugacy class which is a full rational class. Rational conjugacy classes can be read off from the character table of G, these are the conjugacy classes on which all irreducible characters have integer values. For the example M11: There a 10 conjugacy classes and 6 rational conjugacy classes, the unions of classes 8a and 8b and of classes 11a with 11b form two more rational classes (so altogether there are 8 rational classes, this is what you get by the command 'RationalClasses' in GAP). On Sat, Aug 19, 2017 at 06:17:30PM +0000, johnathon simons wrote: > I seem to find myself running in circles with > this topic. Could someone help me understand why it is not sufficient for > a sporadic group G that if: > > 1) G = , with g_i an element of a rational conjugacy class. > 2) g_1*g_2*g_3 = 1 > 3) The symmetrised structure constant (as defined in the response by Thomas) equals 1. > 4) > that simply that for a sporadic group G, finding a triple generator > = G with g_1*g_2*g_3 = 1, and the symmetrised structure > constant (as being defined in the previous response of Thomas) being equal > to 1 does not sufficiently determine rational rigidity (i.e that G is a > Galois group over Q)? Yes, if G is simple and you find elements g_1, g_2, g_3 as in 1), 2), 3) then this is a sufficient criterion for G being a Galois group over Q. But your example M11 does not have a rational rigid triple (the structure constant computation discussed before involved elements of order 11 which do not ly in a "rational conjugacy class". There also is a generalization of the rigidity criterion for n-tuples. M11 does also not contain rational rigid n-tuples for any n. Nevertheless, it can be shown that M11 is a Galois group over Q with a more complicated twisted version of the rigidity criterion. I recommend the book Malle, Matzat, "Inverse Galois Theory", Springer, 1999 for more details. Theorem I.6.12 handles M11. Best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From J.L.I.Williams at bath.ac.uk Tue Aug 29 11:23:38 2017 From: J.L.I.Williams at bath.ac.uk (James Williams) Date: Tue, 29 Aug 2017 10:23:38 +0000 Subject: [GAP Forum] Finding groups of a given order with a specific group as their Frattini Subgroup Message-ID: <1504002218787.8991@bath.ac.uk> Hello, I was wondering if somebody could advise me on the best method to achieve the following with GAP: Given a group N and an order p^m, find all groups G of order p^m that have N as their Frattini subgroup.? For example: Let N be SmallGroup(3,1), let p=3 and m=4. Then I would like to find all groups G of order 81 with Frat(G)=N In this case I expect to find SmallGroups [ 81, 11 ], [ 81, 12 ], [ 81, 13 ], [ 81, 14 ] For small orders I am able to work backwards by filtering the small groups library, but I would like to be able to do this for large groups beyond the small groups library.? I had wondered whether the Frattini Extension method in the GrpConst package would be useful here, but could not see how to use it to achieve this. I would greatly appreciate any advice on this. Thank you for your time, James From alexander.konovalov at st-andrews.ac.uk Wed Aug 30 15:13:25 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Wed, 30 Aug 2017 14:13:25 +0000 Subject: [GAP Forum] GAP 4.8.8 release announcement Message-ID: <798200DD-9ADE-44B8-8BA5-AC71F342AC68@st-andrews.ac.uk> Dear GAP Forum, This is to announce the release of GAP 4.8.8, which can be downloaded from http://www.gap-system.org/Releases/ The changes in the core GAP system introduced in GAP 4.8.8 are: * Fixed bug in RepresentativeAction producing incorrect answers for both symmetric and alternating groups, with both OnTuples and OnSets, by producing elements outside the group. [Reported by Mun See Chang] * Fixed bug in RepresentativeAction for S_n and A_n acting on non-standard domains. * Fixed a problem with checking the path to a file when using the default browser as a help viewer on Windows. [Reported by Jack Saunders] For the corresponding changes in the GAP source code, see the GAP 4.8.8 milestone on GitHub: https://github.com/gap-system/gap/milestone/15?closed=1 Additionally, GAP 4.8.8 distribution contains updated versions of 29 GAP packages: 4ti2Interface | 2017.01.05 | 05/01/2017 ANUPQ | 3.1.5 | 20/07/2017 Browse | 1.8.7 | 21/07/2017 CAP | 2017.07.25 | 25/07/2017 cvec | 2.5.7 | 01/08/2017 Digraphs | 0.10.1 | 16/08/2017 ExamplesForHomalg | 2017.05.25 | 25/05/2017 float | 0.7.6 | 09/05/2017 GAPDoc | 1.6 | 20/07/2017 Gauss | 2017.06.14 | 14/06/2017 GeneralizedMorphismsForCAP | 2017.07.25 | 25/07/2017 GradedModules | 2017.05.10 | 10/05/2017 GradedRingForHomalg | 2017.05.26 | 26/05/2017 homalg | 2017.05.10 | 10/05/2017 HomalgToCAS | 2017.08.01 | 01/08/2017 IO_ForHomalg | 2017.07.01 | 01/07/2017 IRREDSOL | 1.4 | 03/08/2017 LinearAlgebraForCAP | 2017.07.25 | 25/07/2017 LocalizeRingForHomalg | 2017.07.17 | 17/07/2017 MatricesForHomalg | 2017.08.02 | 02/08/2017 ModulePresentationsForCAP | 2017.07.25 | 25/07/2017 Modules | 2017.07.17 | 17/07/2017 PatternClass | 2.3 | 05/07/2017 qaos | 1.5 | 30/07/2017 QPA | 1.26 | 02/06/2017 RingsForHomalg | 2017.08.02 | 02/08/2017 Smallsemi | 0.6.11 | 26/04/2017 ToolsForHomalg | 2017.05.10 | 10/05/2017 XMod | 2.62 | 09/08/2017 Furthermore, the Gpd package by Chris Wensley has been renamed to Groupoids. We encourage all users to upgrade to GAP 4.8.8. Just in case, a common pitfall during GAP installation on Linux and macOS is to compile only the GAP kernel, but not the packages. This procedure had changed less than a year ago (in GAP 4.8.4), so let me remind you that after running ./configure make in the GAP root directory you need to change to the 'pkg' subdirectory and call ../bin/BuildPackages.sh to run the script which will build most of the packages that require compilation (provided sufficiently many libraries, headers and tools are available). If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org, or submit new issues on GitHub: https://github.com/gap-system/gap/issues There is also a 'gap' tag for questions about GAP at the Mathematics Q&A site: http://math.stackexchange.com/tags/gap/info In addition, you may find some GAP related news on Twitter: http://twitter.com/gap_system (you may also read the GAP Twitter feed at http://www.gap-system.org). Wishing you fun and success using GAP, Alexander Konovalov on behalf of the GAP Group From johnathonasimons at outlook.com Thu Aug 31 10:15:51 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Thu, 31 Aug 2017 09:15:51 +0000 Subject: [GAP Forum] Maximal subgroups. Message-ID: Dear all, Back again for another round of fun - ha! According to a certain paper I've found online, it states that for the Mathieu group M12, the triple (2A,4A,8A) is not a rigid generator of M12: that is, G =/= where g1 is contained in 2A, g2 is contained in 4A, g3 is contained in 8A and g1*g2*g3 = 1. In particular, it says that (2A,4A,8A) generates a proper subgroup of M12 as can be seen from the character tables of the maximal subgroups. However, when I run the below algorithm (which attempts to find the rigid generating triple) I end up "apparently" finding one. findNiceTriple := function(G, cls1, cls2, cls3) local g1, g2, g3; g1 := Representative(cls1); for g2 in cls2 do g3 := (g1*g2)^-1; if g3 in cls3 and M12 = Group(g1, g2) then return [g1, g2, g3]; fi; od; return fail; end; Then for example: gap> M12:=MathieuGroup(12); Group([ (1,2,3,4,5,6,7,8,9,10,11), (3,7,11,8)(4,10,5,6), (1,12)(2,11)(3,6)(4,8),(5,9)(7,10) ]) gap> cc:=ConjugacyClasses(M12);; gap> Length(cc); 15 So then to see if the triple (2A, 4A, 8A) can generate a rigid triple of elements (g1,g1,g3) with g1*g2*g3 = 1 we have: gap> findNiceTriple(M12, cc[2], cc[6], cc[11]); [ (1,8,10,12,11)(3,7,4,5,9), (2,10,7,5)(3,7,8,9), (1,11,12,10,2,4,7,6,8,9)(3,5)] 1) If I'm not mistaken, this implies that (2A, 4A, 8A) is such a rigid triple that generates M12? If not, could someone please clarify as to why this is not true (is there some issue with the above algorithm - I have simply taken the conjugacy classes assuming they appear in an ordered list as shown above (hence cc[6] corresponds to the sixth conjugacy class which is 4A). 2) Furthermore, if the above approach is hopeless in determining rigid triples, could someone please inform me as why that is the case and how one can determine whether such a triple generates a proper subgroup of M12 by simply looking at the characer tables of the maximal subgroups? Thank you as always, John Sent from Outlook From frank.luebeck at math.rwth-aachen.de Thu Aug 31 22:34:58 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 31 Aug 2017 23:34:58 +0200 Subject: [GAP Forum] Maximal subgroups. In-Reply-To: References: Message-ID: <20170831213457.GA8658@localhost.localdomain> On Thu, Aug 31, 2017 at 09:15:51AM +0000, johnathon simons wrote: > According to a certain paper I've found online, it states that for > the Mathieu group M12, the triple (2A,4A,8A) is not a rigid generator > of M12: that is, G =/= where g1 is contained in 2A, > g2 is contained in 4A, g3 is contained in 8A and g1*g2*g3 = 1. In > particular, it says that (2A,4A,8A) generates a proper subgroup of M12 > as can be seen from the character tables of the maximal subgroups. Dear John Simons, dear Forum, As was explained recently on this list, you can compute the structure constant of this class triple from the character table of M12 to see that triples from these classes with product 1 exist, but that all of such triples (actually, there are several conjugacy classes of them) generate proper subgroups. > However, when I run the below algorithm (which attempts to find the > rigid generating triple) I end up "apparently" finding one. > > findNiceTriple := function(G, cls1, cls2, cls3) > local g1, g2, g3; > g1 := Representative(cls1); > for g2 in cls2 do > g3 := (g1*g2)^-1; You probably wanted to write 'G' instead of 'M12' in the following line: > if g3 in cls3 and M12 = Group(g1, g2) then > return [g1, g2, g3]; > fi; > od; > return fail; > end; (Otherwise the function looks alright.) > Then for example: > > gap> M12:=MathieuGroup(12);; > gap> cc:=ConjugacyClasses(M12);; > gap> Length(cc); > 15 > > So then to see if the triple (2A, 4A, 8A) can generate a rigid triple > of elements (g1,g1,g3) with g1*g2*g3 = 1 we have: > > gap> findNiceTriple(M12, cc[2], cc[6], cc[11]); > [ (1,8,10,12,11)(3,7,4,5,9), (2,10,7,5)(3,7,8,9), (1,11,12,10,2,4,7,6,8,9)(3,5)] Several things look strange here: - If you had chosen the right classes, the result should be a list of three elements of order 2, 4 and 8, resp. - The second element is no permutation (where is 7 mapped to?) Use something like List(cc, c-> Order(Representative(c))); List(cc, Representative); to find the correct classes (and then you will get 'fail' from 'findNiceTriple'). Note that on different attempts the classes you want can be in different positions because GAP uses the Random function to find the conjugacy classes. > 1) If I'm not mistaken, this implies that (2A, 4A, 8A) is such a rigid > triple that generates M12? If not, could someone please clarify as to > why this is not true (is there some issue with the above algorithm If you have three conjugacy classes for which your function returns a generating triple, then you cannot conclude that there is a rigid triple (which means that the triple you found is the unique one up to conjugacy). > 2) Furthermore, if the above approach is hopeless in determining > rigid triples, could someone please inform me as why that is the As said, to prove rigidness you need to check that there is up to conjugacy only one triple with product one and that it generates the group. > case and how one can determine whether such a triple generates a > proper subgroup of M12 by simply looking at the characer tables of the > maximal subgroups? Also, as mentioned above, you do not need character tables of maximal subgroups in this case, the character table of M12 is enough. Best regards, Frank L?beck -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From marek at mitros.org Thu Sep 7 12:49:40 2017 From: marek at mitros.org (Marek Mitros) Date: Thu, 7 Sep 2017 13:49:40 +0200 Subject: [GAP Forum] Character table library for E7(2) and E8(2) Message-ID: Hello, I am using GAP 4.7.5 from 2014. I am using character table library, e.g. conjugacy class names and sizes and ClassMultiplicationCoefficient function. I wonder whether this library is available now for groups E_7(2) and E_8(2) ? I am also interested to see where I can find sizes of involution classes in these groups. But this is probably question to other mailing list. Regards, Marek From frank.luebeck at math.rwth-aachen.de Fri Sep 8 09:59:07 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Fri, 8 Sep 2017 10:59:07 +0200 Subject: [GAP Forum] Character table library for E7(2) and E8(2) In-Reply-To: References: Message-ID: <20170908085907.GA27761@localhost.localdomain> On Thu, Sep 07, 2017 at 01:49:40PM +0200, Marek Mitros wrote: > Hello, > > I am using GAP 4.7.5 from 2014. I am using character table library, e.g. > conjugacy class names and sizes and ClassMultiplicationCoefficient > function. I wonder whether this library is available now for groups E_7(2) > and E_8(2) ? Dear Marek, dear Forum, The full character tables for E7(2) and E8(2) are still not known. With the mathematical and computational techniques we have today, it may be possible to compute them; but one cannot be sure before trying it (it is on a TODO list). In the moment you can find some information on my webpage. Some information on conjugacy classes, centralizers and all character degrees is here: http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/E72.html http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/E82.html In fact, you can find most of this information even for all E7(q) and E8(q): http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/nrclasses/nrclasses.html http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/DegMult/ > I am also interested to see where I can find sizes of involution classes in > these groups. But this is probably question to other mailing list. See http://www.math.rwth-aachen.de/~Frank.Luebeck/chev/23elts.html and the references given there. This describes which classes on the E7(2) and E8(2) pages are involution classes. With best regards, Frank -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From johnathonasimons at outlook.com Wed Sep 13 13:02:37 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Wed, 13 Sep 2017 12:02:37 +0000 Subject: [GAP Forum] Finding a polynomial whose Galois group is M12 Message-ID: Dear all, Hope the the remainder of the Summer is treating you well. I've a brief question: Once one has realized a finite group G (say the Mathieu group M12) as a Galois group over Q, is there any method on how to extract a polynomial whose Galois Group is M12? I've seen some papers where they state the polynomials over Q whose Galois group is M12, but I've never actually seen anything method of doing so. If so, is such an implementation possible on GAP. Thank you once again, John Sent from Outlook From Bill.Allombert at math.u-bordeaux.fr Wed Sep 13 16:58:27 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Wed, 13 Sep 2017 17:58:27 +0200 Subject: [GAP Forum] Finding a polynomial whose Galois group is M12 In-Reply-To: References: Message-ID: <20170913155827.GB29915@yellowpig> On Wed, Sep 13, 2017 at 12:02:37PM +0000, johnathon simons wrote: > Dear all, > > Hope the the remainder of the Summer is treating you well. I've a brief question: > > Once one has realized a finite group G (say the Mathieu group M12) as > a Galois group over Q, is there any method on how to extract a > polynomial whose Galois Group is M12? I've seen some papers where they > state the polynomials over Q whose Galois group is M12, but I've > never actually seen anything method of doing so. If so, is such an > implementation possible on GAP. How do you give the realization ? In general, even when one has built a field with the right Galois group, obtaining a polynomial can be computationaly challenging, either due to its size of the polynomial or of intermediary computations. For example it is easy to find a field with Galois group 31:3. However computing a corresponding deg-31 polynomial is much harder, so you will have to add extra conditions on the field so that the computation is manageable. Cheers, Bill. From johnathonasimons at outlook.com Thu Sep 14 11:02:20 2017 From: johnathonasimons at outlook.com (johnathon simons) Date: Thu, 14 Sep 2017 10:02:20 +0000 Subject: [GAP Forum] Finding a polynomial whose Galois group is M12 Message-ID: Dear Bill, The Galois realization of M12 is given by finding that Aut(M12) is a Galois group (from a rationally rigid triple of conjugacy classes) and then from that one can deduce that M12 is a Galois group. If the realization is by noting that the automorphism group can be generated by a rational rigid triple, does that make things any easier? For a discussion of this see (Malle and Matzat - Inverse Galois Theory (Springer 1999)) page 162. Sent from Outlook From Bill.Allombert at math.u-bordeaux.fr Thu Sep 14 16:33:57 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Thu, 14 Sep 2017 17:33:57 +0200 Subject: [GAP Forum] Finding a polynomial whose Galois group is M12 In-Reply-To: References: Message-ID: <20170914153357.GA18481@yellowpig> On Thu, Sep 14, 2017 at 10:02:20AM +0000, johnathon simons wrote: > Dear Bill, > > The Galois realization of M12 is given by finding that Aut(M12) is a > Galois group (from a rationally rigid triple of conjugacy classes) and > then from that one can deduce that M12 is a Galois group. > > If the realization is by noting that the automorphism group can be > generated by a rational rigid triple, does that make things any > easier? For a discussion of this see (Malle and Matzat - Inverse > Galois Theory (Springer 1999)) page 162. Klueners and Malle give explicit polynomials here: so they should know how to do it. Cheers, Bill. From f.k.moftakhar at gmail.com Mon Sep 18 16:08:09 2017 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Mon, 18 Sep 2017 19:38:09 +0430 Subject: [GAP Forum] Set Partitions Message-ID: Dear Colleagues, I need to the algorithm of computing the number of partitions of an n-set in GAP. Could you please send me the address of a paper or a book that contains such an algorithm? My main question is complexity of the algorithm that GAP uses for generating set partitions. I know the following paper that the complexity of this algorithm is \theta(1.6). Is this complexity better than GAP algorithm? M. C. ER, A fast algorithm for generating set partitions, The Computer Journal, 31(3) (1988) 283-284. Best regards Fatemeh Moftakhar -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From dmitrii.pasechnik at cs.ox.ac.uk Thu Sep 21 10:51:24 2017 From: dmitrii.pasechnik at cs.ox.ac.uk (dmitrii.pasechnik at cs.ox.ac.uk) Date: Thu, 21 Sep 2017 10:51:24 +0100 Subject: [GAP Forum] does a multivariate polynomial know its ring (or at least variables)? Message-ID: <20170921095124.GA17595@hilbert> Dear all, I'd like to write a function that takes a multivariate polynomial p and produces another polynomial in the same polynomial ring R, by doing a variable subsitution. Is there a way to p about its ring, or at least about the family of the indeterminants of the ring? Namely, I'd like to call Value( p, vars, vals ), something like the following: # compute the image of q under a linear transform g n := Length(vars); OnPoly:=function(q,g) local i,j; return Value(q, vars, List([1..n],i->Sum([1..n], j->g[i][j]*vars[j]))); end; but I would rather get vars from q. Have I missed something in the docs? Thanks, Dima From max at quendi.de Thu Sep 21 12:41:09 2017 From: max at quendi.de (Max Horn) Date: Thu, 21 Sep 2017 13:41:09 +0200 Subject: [GAP Forum] does a multivariate polynomial know its ring (or at least variables)? In-Reply-To: <20170921095124.GA17595@hilbert> References: <20170921095124.GA17595@hilbert> Message-ID: <890E0A1B-5481-42BB-ACB5-0FD9CEBB2E2A@quendi.de> Dear Dima, > On 21 Sep 2017, at 11:51, dmitrii.pasechnik at cs.ox.ac.uk wrote: > > Dear all, > > I'd like to write a function that takes a multivariate polynomial p > and produces another polynomial in the same polynomial ring R, > by doing a variable subsitution. > > Is there a way to p about its ring, > or at least about the family of the indeterminants of the ring? No, this is not possible, you haven't missed anything in the manual: All polynomials implicitly "live in" the polynomial ring with "all" (infinitely many) indeterminates. Of course you can "cheat" and define the action on pairs [indet, polys] where the first entry is a list of indeterminates you want to act on. Or do you what you described in your mail (which just passes "indet" implicitly via a higher variable in the scope in which you action is defined). Regards, Max From Alexander.Hulpke at colostate.edu Thu Sep 21 13:56:07 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Thu, 21 Sep 2017 12:56:07 +0000 Subject: [GAP Forum] does a multivariate polynomial know its ring (or at least variables)? In-Reply-To: <20170921095124.GA17595@hilbert> References: <20170921095124.GA17595@hilbert> Message-ID: Dear Dima Pasechnik, Dear Forum, Dear all, I'd like to write a function that takes a multivariate polynomial p and produces another polynomial in the same polynomial ring R, by doing a variable subsitution. Is there a way to p about its ring, or at least about the family of the indeterminants of the ring? The family of indeterminate only depends on the coefficients family, but there is OccuringVariableIndices which takes a (multivariate) polynomial and returns the index numbers of the variables that is uses. You could use base:=Field(ZeroCoefficientRatFun(pol)); # some field in the same characteristic as coefficients List(OccuringVariableIndices(pol),x->X(base,x)); to get the actual variables that occur in the polynomial.Note that a constant polynomial will result in an empty list. Hope this helps, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From tvonp at gmx.net Thu Sep 21 16:26:10 2017 From: tvonp at gmx.net (Timm von Puttkamer) Date: Thu, 21 Sep 2017 17:26:10 +0200 Subject: [GAP Forum] Suzuki 2-groups Message-ID: <93a5bbf5-56ac-f1bf-fd86-8ee024e6c474@gmx.net> Dear all, I would like to know whether GAP has a method to construct Suzuki 2-groups. Recall that a Suzuki 2-group is a non-abelian 2-group containing more than one involution which admits a cyclic group of automorphims that acts transitively on the set of involutions. Kind regards, Timm From jiverson at math.umd.edu Thu Sep 21 17:29:15 2017 From: jiverson at math.umd.edu (Joey Iverson) Date: Thu, 21 Sep 2017 12:29:15 -0400 Subject: [GAP Forum] Suzuki 2-groups In-Reply-To: <93a5bbf5-56ac-f1bf-fd86-8ee024e6c474@gmx.net> References: <93a5bbf5-56ac-f1bf-fd86-8ee024e6c474@gmx.net> Message-ID: Dear Timm, Dear Forum, I have some code on GitHub that can help construct what Higman calls A(n,theta) in this paper . This is a special example of what we call "B-products" in Section 4 of this paper . To make A(n,theta), download the file "b-prods.g" and put it where GAP can find it. Then type something like the following: gap> Read("b-prods.g"); gap> n:=3; 3 gap> theta:=FrobeniusAutomorphism(GF(2^n)); FrobeniusAutomorphism( GF(2^3) ) gap> B:=function(x,y) > return x*y^theta; > end; function( x, y ) ... end gap> G:=bGroup(n,B); You can replace n and theta with anything want. The result is a pc group. The function "bEmbed" can help you map a pair of field elements (x,y) into G, as in Higman's paper: gap> emb:=bEmbed(B,G,n); function( x, y ) ... end gap> x:=Random(GF(2^n)); Z(2)^0 gap> y:=Random(GF(2^n)); Z(2^3) gap> g:=emb(x,y); f1*f5 I hope this helps! All the best, Joey Iverson Research Associate Norbert Wiener Center & Department of Mathematics University of Maryland, College Park On Thu, Sep 21, 2017 at 11:26 AM, Timm von Puttkamer wrote: > Dear all, > > I would like to know whether GAP has a method to construct Suzuki > 2-groups. Recall that a Suzuki 2-group is a non-abelian 2-group containing > more than one involution which admits a cyclic group of automorphims that > acts transitively on the set of involutions. > > Kind regards, > Timm > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > From tkohl at math.bu.edu Mon Sep 25 20:43:51 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Mon, 25 Sep 2017 15:43:51 -0400 (EDT) Subject: [GAP Forum] Indeterminates and GroupRing elements Message-ID: Dear forum members, I am trying to do the following with GroupRing() gap> QC3:=GroupRing(Rationals,Group((1,2,3)));; gap> x:=Indeterminate(Rationals,"x");; gap> y:=Indeterminate(Rationals,"y");; gap> z:=Indeterminate(Rationals,"z");; gap> B:=Basis(QC3);; gap> Elements(B); [ (1)*(), (1)*(1,2,3), (1)*(1,3,2) ] So far so good, but the following doesn't work. gap> h := x*B[1]+y*B[2]+y*B[3] Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `*' on 2 arguments called from ( ) called from read-eval loop at line 32 of *stdin* you can 'quit;' to quit to outer loop, or you can 'return;' to continue I want to do things like compute nilpotents etc by taking powers of 'generic' elements of a group ring (like h above) which will yield equations in the coefficients of the basis elements of the group ring. What is the correct way to do this? Thanks. -Tim Kohl Boston University From sk239 at st-andrews.ac.uk Mon Sep 25 20:56:53 2017 From: sk239 at st-andrews.ac.uk (Stefan Kohl) Date: Mon, 25 Sep 2017 21:56:53 +0200 Subject: [GAP Forum] Indeterminates and GroupRing elements In-Reply-To: References: Message-ID: <33b8cd97-820d-08f0-e6bd-e59aa02b86b3@st-andrews.ac.uk> Dear Forum, Tim Kohl asked: > I am trying to do the following with GroupRing() > > gap> QC3:=GroupRing(Rationals,Group((1,2,3)));; > gap> x:=Indeterminate(Rationals,"x");; > gap> y:=Indeterminate(Rationals,"y");; > gap> z:=Indeterminate(Rationals,"z");; > gap> B:=Basis(QC3);; > gap> Elements(B); > [ (1)*(), (1)*(1,2,3), (1)*(1,3,2) ] > > So far so good, but the following doesn't work. > > gap> h := x*B[1]+y*B[2]+y*B[3] > Error, no method found! For debugging hints type ?Recovery from NoMethodFound > Error, no 1st choice method found for `*' on 2 arguments called from > ( ) > called from read-eval loop at line 32 of *stdin* > you can 'quit;' to quit to outer loop, or > you can 'return;' to continue > > I want to do things like compute nilpotents etc by taking powers > of 'generic' elements of a group ring (like h above) which will > yield equations in the coefficients of the basis elements of the group ring. > > What is the correct way to do this? I suppose what you would like to do is to compute in the group ring Q[x,y,z]C_3, rather than in QC_3: gap> R := PolynomialRing(Rationals,["x","y","z"]); Rationals[x,y,z] gap> RC3:=GroupRing(R,Group((1,2,3)));; gap> B := Basis(RC3);; gap> AsList(B); [ (1)*(), (1)*(1,2,3), (1)*(1,3,2) ] gap> h := x*B[1]+y*B[2]+y*B[3]; (x)*()+(y)*(1,2,3)+(y)*(1,3,2) Does this help you? Best regards, ??? Stefan Kohl ----------------------------------------------------------------------------- https://stefan-kohl.github.io/ ----------------------------------------------------------------------------- From tkohl at math.bu.edu Mon Sep 25 22:05:09 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Mon, 25 Sep 2017 17:05:09 -0400 (EDT) Subject: [GAP Forum] Indeterminates and GroupRing elements In-Reply-To: <33b8cd97-820d-08f0-e6bd-e59aa02b86b3@st-andrews.ac.uk> References: <33b8cd97-820d-08f0-e6bd-e59aa02b86b3@st-andrews.ac.uk> Message-ID: Dear Stefan, think I can use this. If I compute h^2 gap> h^2; (x^2+2*y^2)*()+(2*x*y+y^2)*(1,2,3)+(2*x*y+y^2)*(1,3,2) then it's a matter of extracting the coefficients on the group elements by using Coefficients(B,h^2). Thank you very much! -Tim On Mon, 25 Sep 2017, Stefan Kohl wrote: > Dear Forum, > > Tim Kohl asked: > > I suppose what you would like to do is to compute in the > group ring Q[x,y,z]C_3, rather than in QC_3: > > gap> R := PolynomialRing(Rationals,["x","y","z"]); > Rationals[x,y,z] > gap> RC3:=GroupRing(R,Group((1,2,3)));; > gap> B := Basis(RC3);; > gap> AsList(B); > [ (1)*(), (1)*(1,2,3), (1)*(1,3,2) ] > gap> h := x*B[1]+y*B[2]+y*B[3]; > (x)*()+(y)*(1,2,3)+(y)*(1,3,2) > > Does this help you? > > Best regards, > > ??? Stefan Kohl > > ----------------------------------------------------------------------------- > https://stefan-kohl.github.io/ > ----------------------------------------------------------------------------- > > > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dr. Timothy Kohl | Desktop Services Specialist, Sr. Boston University Information Services & Technology | IT Help Center tkohl at bu.edu | 617.353.8203 | bu.edu/tech From kroberts at math.uni-bielefeld.de Tue Sep 26 10:41:16 2017 From: kroberts at math.uni-bielefeld.de (Kieran Roberts) Date: Tue, 26 Sep 2017 10:41:16 +0100 Subject: [GAP Forum] Forum Digest, Vol 166, Issue 2 In-Reply-To: References: Message-ID: Hi Fatemeh, You don't need to generate the partitions to determine the number of ways to partition an n-set. GAP has a function called Bell(n) that computes this number: https://github.com/gap-system/gap/blob/master/lib/combinat.gi#L95-L105 that has complexity n^2. Kieran. > Message: 1 > Date: Mon, 18 Sep 2017 19:38:09 +0430 > From: fatemeh moftakhar > To: forum at gap-system.org > Subject: [GAP Forum] Set Partitions > Message-ID: > > Content-Type: text/plain; charset="UTF-8" > > Dear Colleagues, > > I need to the algorithm of computing the number of partitions of an n-set > in GAP. Could you please send me the address of a paper or a book that > contains such an algorithm? > My main question is complexity of the algorithm that GAP uses for > generating set partitions. I know the following paper that the complexity > of this algorithm is \theta(1.6). Is this complexity better than GAP > algorithm? > > M. C. ER, A fast algorithm for generating set partitions, The Computer > Journal, 31(3) (1988) 283-284. > > Best regards > Fatemeh Moftakhar > > > -- > Regards; > Miss Fatemeh Moftakhar > PhD Candidate, > Department of Pure Mathematics, > Faculty of Mathematical Sciences, > University of Kashan, Kashan, Iran From l.h.soicher at qmul.ac.uk Fri Oct 6 12:17:40 2017 From: l.h.soicher at qmul.ac.uk (Leonard Soicher) Date: Fri, 6 Oct 2017 11:17:40 +0000 Subject: [GAP Forum] QMUL Lectureship in Algebra In-Reply-To: References: , , , Message-ID: Dear GAP-Forum, We are advertising a new Lectureship in Algebra, and are seeking to appoint an excellent candidate in any area of Algebra, including, but not limited to, Algebraic Geometry, Algebraic Combinatorics, Representation Theory, Group Theory, Algebraic Number Theory, and Homological/Categorical Algebra. See https://webapps2.is.qmul.ac.uk/jobs/job.action?jobID=2778 for more details and application information. The closing date is 8 November 2017. Please feel to email me with any informal queries. Best wishes, Leonard (as QMUL Head of Algebra) From gordon.royle at uwa.edu.au Tue Oct 17 01:21:40 2017 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Tue, 17 Oct 2017 00:21:40 +0000 Subject: [GAP Forum] Multi-user Installation on Linux Message-ID: Hi I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) - do I install all the packages in this shared area, or does each user maintain their own package - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) Thanks Gordon From caj21 at st-andrews.ac.uk Tue Oct 17 09:02:27 2017 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 17 Oct 2017 08:02:27 +0000 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: Here is what I do: 1) Untar the gap installation to a directory like /usr/local/lib/gap4r8 2) Build GAP and all packages in this directory (GAP and it?s packages does not like being moved), exactly as normal. 3) Either symlink, or copy, bin/gap.sh into a directory in the user?s path like /usr/local/bin GAP should then run happily for any user who runs it. The only problems arise if you want to try to separate different parts of GAP into different directories, which it currently doesn?t support well. Chris > On Oct 17, 2017, at 1:21 AM, Gordon Royle wrote: > > Hi > > I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) > > I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are > > - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) > - do I install all the packages in this shared area, or does each user maintain their own package > - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) > > (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) > > Thanks > > Gordon > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From Bill.Allombert at math.u-bordeaux.fr Tue Oct 17 10:58:38 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 17 Oct 2017 11:58:38 +0200 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: <20171017095838.GD8160@yellowpig> On Tue, Oct 17, 2017 at 08:02:27AM +0000, Christopher Jefferson wrote: > Here is what I do: > > 1) Untar the gap installation to a directory like /usr/local/lib/gap4r8 > > 2) Build GAP and all packages in this directory (GAP and it?s packages > does not like being moved), exactly as normal. > > 3) Either symlink, or copy, bin/gap.sh into a directory in the user?s path like /usr/local/bin 4) Make sure that all the files in /usr/local/lib/gap4r8 have proper permissions so that all the users can read them. You also need to make some directory writeable to all users. pkg/AtlasRep/datagens and pkg/AtlasRep/dataword if I remember correctlty. 5) Make sure external binaries used by some GAP packages are available. (gp at least). Cheers, Bill. From gordon.royle at uwa.edu.au Tue Oct 17 12:33:42 2017 From: gordon.royle at uwa.edu.au (Gordon Royle) Date: Tue, 17 Oct 2017 11:33:42 +0000 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: Thanks for your reply, and Bill?s addendum. The only problem with that set up that I can foresee is that one of the users is a package developer and constantly wants to tinker with, update and then re-load the latest version of the package. Is there a mechanism that allows each individual to have local versions of the packages but a common core? Or do we just go for most users having the common version and those with additional needs running a completely separate installation? > On 17 Oct 2017, at 4:02 pm, Christopher Jefferson wrote: > > Here is what I do: > > 1) Untar the gap installation to a directory like /usr/local/lib/gap4r8 > > 2) Build GAP and all packages in this directory (GAP and it?s packages does not like being moved), exactly as normal. > > 3) Either symlink, or copy, bin/gap.sh into a directory in the user?s path like /usr/local/bin > > GAP should then run happily for any user who runs it. > > The only problems arise if you want to try to separate different parts of GAP into different directories, which it currently doesn?t support well. > > Chris > > > >> On Oct 17, 2017, at 1:21 AM, Gordon Royle wrote: >> >> Hi >> >> I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) >> >> I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are >> >> - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) >> - do I install all the packages in this shared area, or does each user maintain their own package >> - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) >> >> (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) >> >> Thanks >> >> Gordon >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > From Bill.Allombert at math.u-bordeaux.fr Tue Oct 17 13:27:03 2017 From: Bill.Allombert at math.u-bordeaux.fr (Bill Allombert) Date: Tue, 17 Oct 2017 14:27:03 +0200 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: <20171017122703.GG8160@yellowpig> On Tue, Oct 17, 2017 at 11:33:42AM +0000, Gordon Royle wrote: > Thanks for your reply, and Bill?s addendum. > > The only problem with that set up that I can foresee is that one of > the users is a package developer and constantly wants to tinker with, > update and then re-load the latest version of the package. > > Is there a mechanism that allows each individual to have local > versions of the packages but a common core? Yes, you can use the -l option of gap (library path): In the file gap.sh (/usr/local/bin/gap after installing) the last line is exec "$GAP_DIR/bin/$GAP_PRG" $GAP_MEM -l "$GAP_DIR" "$@" So you can change it to exec "$GAP_DIR/bin/$GAP_PRG" $GAP_MEM -l "$HOME/gap;$GAP_DIR" "$@" so that the user can install packages in "$HOME/gap/pkg" Or you can let the user put their own modified gap script in $HOME/bin/gap. Cheers, Bill. From john.bamberg at uwa.edu.au Tue Oct 17 12:45:36 2017 From: john.bamberg at uwa.edu.au (John Bamberg) Date: Tue, 17 Oct 2017 11:45:36 +0000 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: <065C80E8-42B1-4C23-BDAD-0F4A4BB07531@uwa.edu.au> Hi everyone, Gordon was referring to me, but I already know about the gap -l ?path? option, so this solves Gordon?s question. Cheers, John. > On 17 Oct 2017, at 7:33 PM, Gordon Royle wrote: > > Thanks for your reply, and Bill?s addendum. > > The only problem with that set up that I can foresee is that one of the users is a package developer and constantly wants to tinker with, update and then re-load the latest version of the package. > > Is there a mechanism that allows each individual to have local versions of the packages but a common core? > > Or do we just go for most users having the common version and those with additional needs running a completely separate installation? > > > > > >> On 17 Oct 2017, at 4:02 pm, Christopher Jefferson wrote: >> >> Here is what I do: >> >> 1) Untar the gap installation to a directory like /usr/local/lib/gap4r8 >> >> 2) Build GAP and all packages in this directory (GAP and it?s packages does not like being moved), exactly as normal. >> >> 3) Either symlink, or copy, bin/gap.sh into a directory in the user?s path like /usr/local/bin >> >> GAP should then run happily for any user who runs it. >> >> The only problems arise if you want to try to separate different parts of GAP into different directories, which it currently doesn?t support well. >> >> Chris >> >> >> >>> On Oct 17, 2017, at 1:21 AM, Gordon Royle wrote: >>> >>> Hi >>> >>> I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) >>> >>> I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are >>> >>> - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) >>> - do I install all the packages in this shared area, or does each user maintain their own package >>> - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) >>> >>> (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) >>> >>> Thanks >>> >>> Gordon >>> _______________________________________________ >>> Forum mailing list >>> Forum at mail.gap-system.org >>> http://mail.gap-system.org/mailman/listinfo/forum >> > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From alexander.konovalov at st-andrews.ac.uk Tue Oct 17 15:16:19 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 17 Oct 2017 14:16:19 +0000 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: <065C80E8-42B1-4C23-BDAD-0F4A4BB07531@uwa.edu.au> References: <065C80E8-42B1-4C23-BDAD-0F4A4BB07531@uwa.edu.au> Message-ID: <5FC3650D-CA56-44CD-9930-938E34136CB6@st-andrews.ac.uk> Dear all, An alternative which does not require to call GAP with an option is to use the `.gap` directory. If you will have a package `pkgname` in the directory ~/.gap/pkg/pkgname then GAP will load the version of the package from there. If you will start GAP with -r command line option, it will ignore the content of .gap directory (which may also have other files, e.g. gap.ini and gaprc). Please see ?GAPInfo.UserGapRoot for further details. Best wishes Alexander > On 17 Oct 2017, at 12:45, John Bamberg wrote: > > Hi everyone, > > Gordon was referring to me, but I already know about the > > gap -l ?path? > > option, so this solves Gordon?s question. > > Cheers, > > John. > > >> On 17 Oct 2017, at 7:33 PM, Gordon Royle wrote: >> >> Thanks for your reply, and Bill?s addendum. >> >> The only problem with that set up that I can foresee is that one of the users is a package developer and constantly wants to tinker with, update and then re-load the latest version of the package. >> >> Is there a mechanism that allows each individual to have local versions of the packages but a common core? >> >> Or do we just go for most users having the common version and those with additional needs running a completely separate installation? >> >> >> >> >> >>> On 17 Oct 2017, at 4:02 pm, Christopher Jefferson wrote: >>> >>> Here is what I do: >>> >>> 1) Untar the gap installation to a directory like /usr/local/lib/gap4r8 >>> >>> 2) Build GAP and all packages in this directory (GAP and it?s packages does not like being moved), exactly as normal. >>> >>> 3) Either symlink, or copy, bin/gap.sh into a directory in the user?s path like /usr/local/bin >>> >>> GAP should then run happily for any user who runs it. >>> >>> The only problems arise if you want to try to separate different parts of GAP into different directories, which it currently doesn?t support well. >>> >>> Chris >>> >>> >>> >>>> On Oct 17, 2017, at 1:21 AM, Gordon Royle wrote: >>>> >>>> Hi >>>> >>>> I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) >>>> >>>> I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are >>>> >>>> - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) >>>> - do I install all the packages in this shared area, or does each user maintain their own package >>>> - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) >>>> >>>> (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) >>>> >>>> Thanks >>>> >>>> Gordon >>>> _______________________________________________ >>>> Forum mailing list >>>> Forum at mail.gap-system.org >>>> http://mail.gap-system.org/mailman/listinfo/forum >>> >> >> _______________________________________________ >> Forum mailing list >> Forum at mail.gap-system.org >> http://mail.gap-system.org/mailman/listinfo/forum > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- Dr. Alexander Konovalov, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews Software Sustainability Institute Fellow https://alexk.host.cs.st-andrews.ac.uk -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From alexander.konovalov at st-andrews.ac.uk Tue Oct 17 15:27:40 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 17 Oct 2017 14:27:40 +0000 Subject: [GAP Forum] Multi-user Installation on Linux In-Reply-To: References: Message-ID: <27251CEE-808E-4FE3-9E08-1E6F0E8B526E@st-andrews.ac.uk> Dear Gordon, On 17 Oct 2017, at 01:21, Gordon Royle wrote: > > Hi > > I want to install the latest GAP on a Linux (RHEL) machine in such a way that it is accessible to multiple users. (I have root permissions on that machine.) > > I cannot seem to find instructions for this particular variant of the installation process - the kinds of things I need to know are > > - do I create a GAP directory in the shared areas (i.e. /usr/local/lib/gap4r8 or similar) > - do I install all the packages in this shared area, or does each user maintain their own package > - would it be easier to just ask all users to install GAP for themselves (well, this would obviously be easier for me!) > > (The link on the main installation page that claims to be installation documentation actually downloads a file called INSTALL.dms which I cannot open ) Could you please point me to the exact page you were looking at? I can see only links to https://www.gap-system.org/Download/INSTALL which work for me. Also, a version of this text is supplied in the GAP distribution in the file INSTALL.md - this is a text file which may be open with any text editor. Best wishes Alexander From f.k.moftakhar at gmail.com Fri Oct 20 16:26:19 2017 From: f.k.moftakhar at gmail.com (fatemeh moftakhar) Date: Fri, 20 Oct 2017 18:56:19 +0330 Subject: [GAP Forum] Bolean matrix Message-ID: Dear Forum How could we define a Boolean matrix in GAP? Is that same as usual integer matrix? Would you please define an n by m Boolean matrix? Any comments will be highly appreciated. Best regards Fatemeh -- Regards; Miss Fatemeh Moftakhar PhD Candidate, Department of Pure Mathematics, Faculty of Mathematical Sciences, University of Kashan, Kashan, Iran From tkohl at math.bu.edu Wed Oct 25 23:00:57 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Wed, 25 Oct 2017 18:00:57 -0400 (EDT) Subject: [GAP Forum] working with GroupRings Message-ID: Dear Forum members, This is somewhat related to a question I asked a while back about GroupRings. My question is somewhat general, but I will try to be as brief as possible. I am trying to construct the group ring Q[w,z]S_3 where Q[w,z] is the field extension of Q obtained by adjoining w,z where w^3=2 and z is a primitive cube root of unity. The method I am using is this: z:=Indeterminate(Rationals,"z"); w:=Indeterminate(Rationals,"w"); R:=PolynomialRing(Rationals,["z","w"]); I:=Ideal(R,[z^2+z+1,w^3-2]); F:=R/I; S3:=SymmetricGroup(3) FS3:=GroupRing(F,S3); so far so good. One initial thing I notice is this: gap> BF:=BasisVectors(Basis(F)); [ (1), (w), (w2), (z), (zw), (zw2) ] which I can understand corresponds to the ideals 1+I, w+I, w^2+I, etc. but I am not sure how to actually construct expressions by hand. [That (zw2) is the representative instead of (z*w^2) is a bit jarring too, but that's not the biggest issue.] i.e. This does not work gap> (w) in F; false although if I do gap> BF[2] in F then, of course, it is true. Q1) How can I specify elements of F without having to refer to the literal list returned from BasisVectors(Basis(F)) ? Once I'm past this hurdle, I still want to work with elements of FS3 by taking linear combinations of group elements and elements of F. Q2) I want to be able to do something like this: (z*(1,2))*(z*(1,2)) and have it give me (-z-1)*() I know I need to use One(F) or One(FS3) in these expressions, but everything I have tried ends up triggering "Error, no method found! For debugging hints type ?Recovery from NoMethodFound" Q3) Alternately, is there a way (like in Maple) to symbolically manipulate a polynomial expression, for example algsubs(z^2+z+1=0,z^4+z5) and yield z+z^2? (i.e. Forget about using a quotient ring and instead apply some regular expression to 'mod out' by the relations w^3=2 and z^2+z+1=0.) Pardon the length of my question, and thanks in advance for any assistance. The main reason I'm using GAP in this instance is that Maple's grouptheory and non-commuting variables infrastructure didn't work. Thanks. -Tim K. From frank.luebeck at math.rwth-aachen.de Wed Oct 25 23:46:20 2017 From: frank.luebeck at math.rwth-aachen.de (Frank =?iso-8859-1?Q?L=FCbeck?=) Date: Thu, 26 Oct 2017 00:46:20 +0200 Subject: [GAP Forum] working with GroupRings In-Reply-To: References: Message-ID: <20171025224620.GB31834@localhost.localdomain> Dear Tim, dear Forum, How about using iterated algebraic extensions for the ground field? Even then the input of elements is not too nice because GAP does not apply implicit embeddings of elements from subfield or of the group into the group ring. This works: w := Indeterminate(Rationals,"w"); f1 := AlgebraicExtension(Rationals, w^3-2, "w"); z := Indeterminate(f1,"z"); F := AlgebraicExtension(f1, z^2+z+1, "z"); w := RootOfDefiningPolynomial(f1)*One(F); z := RootOfDefiningPolynomial(F); w in F; z in F; S3 := SymmetricGroup(3); FS3 := GroupRing(F,S3); emb := Embedding(S3, FS3); e := function(r) return r*One(f1)*One(F); end; x := ((e(-4)*w^2-e(4/3)*w+e(3/2))*z+(2*w^2+2*w-e(2/3)))*(1,2)^emb; x + x^2; y := (z*(1,2)^emb)^2; y = (-z-e(1))*()^emb; Best regards, Frank On Wed, Oct 25, 2017 at 06:00:57PM -0400, tkohl at math.bu.edu wrote: > > Dear Forum members, > > This is somewhat related to a question I asked a while > back about GroupRings. My question is somewhat general, > but I will try to be as brief as possible. > > I am trying to construct the group ring Q[w,z]S_3 where > Q[w,z] is the field extension of Q obtained by adjoining w,z where > w^3=2 and z is a primitive cube root of unity. > > The method I am using is this: > > z:=Indeterminate(Rationals,"z"); > w:=Indeterminate(Rationals,"w"); > R:=PolynomialRing(Rationals,["z","w"]); > I:=Ideal(R,[z^2+z+1,w^3-2]); > F:=R/I; > S3:=SymmetricGroup(3) > FS3:=GroupRing(F,S3); > > so far so good. > > One initial thing I notice is this: > > gap> BF:=BasisVectors(Basis(F)); > [ (1), (w), (w2), (z), (zw), (zw2) ] > > which I can understand corresponds to the ideals 1+I, w+I, w^2+I, etc. > but I am not sure how to actually construct expressions by hand. > > [That (zw2) is the representative instead of (z*w^2) is a bit jarring too, but that's > not the biggest issue.] > > i.e. This does not work > > gap> (w) in F; > false > > although if I do > > gap> BF[2] in F > > then, of course, it is true. > Q1) How can I specify elements of F without having to refer to the literal list returned > from BasisVectors(Basis(F)) ? > > Once I'm past this hurdle, I still want to work with elements of FS3 by taking linear > combinations of group elements and elements of F. > > Q2) I want to be able to do something like this: > > (z*(1,2))*(z*(1,2)) > > and have it give me (-z-1)*() > > I know I need to use One(F) or One(FS3) in these expressions, but everything I have tried > ends up triggering > > "Error, no method found! For debugging hints type ?Recovery from NoMethodFound" > > Q3) Alternately, is there a way (like in Maple) to symbolically manipulate a polynomial > expression, for example > > algsubs(z^2+z+1=0,z^4+z5) > > and yield z+z^2? > > (i.e. Forget about using a quotient ring and instead apply some regular expression > to 'mod out' by the relations w^3=2 and z^2+z+1=0.) > > Pardon the length of my question, and thanks in advance for any assistance. > The main reason I'm using GAP in this instance is that Maple's grouptheory and > non-commuting variables infrastructure didn't work. > > Thanks. > > -Tim K. > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum -- /// Dr. Frank L?beck, Lehrstuhl D f?r Mathematik, Pontdriesch 14/16, \\\ 52062 Aachen, Germany /// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ From tkohl at math.bu.edu Thu Oct 26 14:49:32 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Thu, 26 Oct 2017 09:49:32 -0400 (EDT) Subject: [GAP Forum] working with GroupRings In-Reply-To: <20171025224620.GB31834@localhost.localdomain> References: <20171025224620.GB31834@localhost.localdomain> Message-ID: Dear Frank, This is what I was looking for. I had forgotten about the embedding operation. (I can live with ^emb.) Many thanks! -Tim> On Thu, 26 Oct 2017, Frank L?beck wrote: > > Dear Tim, dear Forum, > > How about using iterated algebraic extensions for the ground field? Even > then the input of elements is not too nice because GAP does not apply > implicit embeddings of elements from subfield or of the group into the group > ring. This works: > > w := Indeterminate(Rationals,"w"); > f1 := AlgebraicExtension(Rationals, w^3-2, "w"); > z := Indeterminate(f1,"z"); > F := AlgebraicExtension(f1, z^2+z+1, "z"); > w := RootOfDefiningPolynomial(f1)*One(F); > z := RootOfDefiningPolynomial(F); > w in F; > z in F; > S3 := SymmetricGroup(3); > FS3 := GroupRing(F,S3); > emb := Embedding(S3, FS3); > e := function(r) return r*One(f1)*One(F); end; > x := ((e(-4)*w^2-e(4/3)*w+e(3/2))*z+(2*w^2+2*w-e(2/3)))*(1,2)^emb; > x + x^2; > y := (z*(1,2)^emb)^2; > y = (-z-e(1))*()^emb; > > > Best regards, > Frank > > On Wed, Oct 25, 2017 at 06:00:57PM -0400, tkohl at math.bu.edu wrote: > > > > Dear Forum members, > > > > This is somewhat related to a question I asked a while > > back about GroupRings. My question is somewhat general, > > but I will try to be as brief as possible. > > > > I am trying to construct the group ring Q[w,z]S_3 where > > Q[w,z] is the field extension of Q obtained by adjoining w,z where > > w^3=2 and z is a primitive cube root of unity. > > > > The method I am using is this: > > > > z:=Indeterminate(Rationals,"z"); > > w:=Indeterminate(Rationals,"w"); > > R:=PolynomialRing(Rationals,["z","w"]); > > I:=Ideal(R,[z^2+z+1,w^3-2]); > > F:=R/I; > > S3:=SymmetricGroup(3) > > FS3:=GroupRing(F,S3); > > > > so far so good. > > > > One initial thing I notice is this: > > > > gap> BF:=BasisVectors(Basis(F)); > > [ (1), (w), (w2), (z), (zw), (zw2) ] > > > > which I can understand corresponds to the ideals 1+I, w+I, w^2+I, etc. > > but I am not sure how to actually construct expressions by hand. > > > > [That (zw2) is the representative instead of (z*w^2) is a bit jarring too, but that's > > not the biggest issue.] > > > > i.e. This does not work > > > > gap> (w) in F; > > false > > > > although if I do > > > > gap> BF[2] in F > > > > then, of course, it is true. > > Q1) How can I specify elements of F without having to refer to the literal list returned > > from BasisVectors(Basis(F)) ? > > > > Once I'm past this hurdle, I still want to work with elements of FS3 by taking linear > > combinations of group elements and elements of F. > > > > Q2) I want to be able to do something like this: > > > > (z*(1,2))*(z*(1,2)) > > > > and have it give me (-z-1)*() > > > > I know I need to use One(F) or One(FS3) in these expressions, but everything I have tried > > ends up triggering > > > > "Error, no method found! For debugging hints type ?Recovery from NoMethodFound" > > > > Q3) Alternately, is there a way (like in Maple) to symbolically manipulate a polynomial > > expression, for example > > > > algsubs(z^2+z+1=0,z^4+z5) > > > > and yield z+z^2? > > > > (i.e. Forget about using a quotient ring and instead apply some regular expression > > to 'mod out' by the relations w^3=2 and z^2+z+1=0.) > > > > Pardon the length of my question, and thanks in advance for any assistance. > > The main reason I'm using GAP in this instance is that Maple's grouptheory and > > non-commuting variables infrastructure didn't work. > > > > Thanks. > > > > -Tim K. > > > > > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > From alexander.konovalov at st-andrews.ac.uk Thu Oct 26 15:35:41 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 26 Oct 2017 14:35:41 +0000 Subject: [GAP Forum] Passing of Charles Sims Message-ID: <18E46E37-3B41-4182-8337-E32B29D755A4@st-andrews.ac.uk> Sad news: passing of Charles Sims Writing with great sadness that Charles Sims passed away on October 23rd. Learned this from his son Mark who has asked to circulate this in the mathematical community. Alexander From tkohl at math.bu.edu Thu Oct 26 16:15:16 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Thu, 26 Oct 2017 11:15:16 -0400 (EDT) Subject: [GAP Forum] working with GroupRings In-Reply-To: <20171025224620.GB31834@localhost.localdomain> References: <20171025224620.GB31834@localhost.localdomain> Message-ID: Dear forum, This has gotten me part way to what I'm looking for. (Many thanks Frank.) But I'm running into a different problem now. Basically, if one has, for example, a:=Indeterminate(Rationals,"r"); K:=AlgebraicExtension(Rationals,r^2-2) S3:=SymmetricGroup(3); KS3:=GroupRing(K, S3); emb:=Embedding(S3,KS3); then I would like to be able to view KS3 as a module over Q, so that I can do something like this H:=Subspace(KD3,[(1,2)^emb+(1,2,3)^emb, (1,3,2)^emb+(1,3)^emb ]); so that H is the Q-span of { (1,2)+(1,2,3) , (1,3,2)+(1,3) } with the ultimate goal of being able to multiply elements of H and represent them with respect to this basis. [I'm basically looking at Q-subalgebras of KG.] Also, as an aside, the GaloisGroup() function seems not to be working. It gives the "no method found" error if I try to do GaloisGroup(K). [I'm using 4r8.] Thanks. -T On Thu, 26 Oct 2017, Frank L?beck wrote: > > Dear Tim, dear Forum, > > How about using iterated algebraic extensions for the ground field? Even > then the input of elements is not too nice because GAP does not apply > implicit embeddings of elements from subfield or of the group into the group > ring. This works: > > w := Indeterminate(Rationals,"w"); > f1 := AlgebraicExtension(Rationals, w^3-2, "w"); > z := Indeterminate(f1,"z"); > F := AlgebraicExtension(f1, z^2+z+1, "z"); > w := RootOfDefiningPolynomial(f1)*One(F); > z := RootOfDefiningPolynomial(F); > w in F; > z in F; > S3 := SymmetricGroup(3); > FS3 := GroupRing(F,S3); > emb := Embedding(S3, FS3); > e := function(r) return r*One(f1)*One(F); end; > x := ((e(-4)*w^2-e(4/3)*w+e(3/2))*z+(2*w^2+2*w-e(2/3)))*(1,2)^emb; > x + x^2; > y := (z*(1,2)^emb)^2; > y = (-z-e(1))*()^emb; > > > Best regards, > Frank > > On Wed, Oct 25, 2017 at 06:00:57PM -0400, tkohl at math.bu.edu wrote: > > > > Dear Forum members, > > > > This is somewhat related to a question I asked a while > > back about GroupRings. My question is somewhat general, > > but I will try to be as brief as possible. > > > > I am trying to construct the group ring Q[w,z]S_3 where > > Q[w,z] is the field extension of Q obtained by adjoining w,z where > > w^3=2 and z is a primitive cube root of unity. > > > > The method I am using is this: > > > > z:=Indeterminate(Rationals,"z"); > > w:=Indeterminate(Rationals,"w"); > > R:=PolynomialRing(Rationals,["z","w"]); > > I:=Ideal(R,[z^2+z+1,w^3-2]); > > F:=R/I; > > S3:=SymmetricGroup(3) > > FS3:=GroupRing(F,S3); > > > > so far so good. > > > > One initial thing I notice is this: > > > > gap> BF:=BasisVectors(Basis(F)); > > [ (1), (w), (w2), (z), (zw), (zw2) ] > > > > which I can understand corresponds to the ideals 1+I, w+I, w^2+I, etc. > > but I am not sure how to actually construct expressions by hand. > > > > [That (zw2) is the representative instead of (z*w^2) is a bit jarring too, but that's > > not the biggest issue.] > > > > i.e. This does not work > > > > gap> (w) in F; > > false > > > > although if I do > > > > gap> BF[2] in F > > > > then, of course, it is true. > > Q1) How can I specify elements of F without having to refer to the literal list returned > > from BasisVectors(Basis(F)) ? > > > > Once I'm past this hurdle, I still want to work with elements of FS3 by taking linear > > combinations of group elements and elements of F. > > > > Q2) I want to be able to do something like this: > > > > (z*(1,2))*(z*(1,2)) > > > > and have it give me (-z-1)*() > > > > I know I need to use One(F) or One(FS3) in these expressions, but everything I have tried > > ends up triggering > > > > "Error, no method found! For debugging hints type ?Recovery from NoMethodFound" > > > > Q3) Alternately, is there a way (like in Maple) to symbolically manipulate a polynomial > > expression, for example > > > > algsubs(z^2+z+1=0,z^4+z5) > > > > and yield z+z^2? > > > > (i.e. Forget about using a quotient ring and instead apply some regular expression > > to 'mod out' by the relations w^3=2 and z^2+z+1=0.) > > > > Pardon the length of my question, and thanks in advance for any assistance. > > The main reason I'm using GAP in this instance is that Maple's grouptheory and > > non-commuting variables infrastructure didn't work. > > > > Thanks. > > > > -Tim K. > > > > > > _______________________________________________ > > Forum mailing list > > Forum at mail.gap-system.org > > http://mail.gap-system.org/mailman/listinfo/forum > > From sam at Math.RWTH-Aachen.De Thu Oct 26 17:04:07 2017 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Thu, 26 Oct 2017 18:04:07 +0200 Subject: [GAP Forum] working with GroupRings In-Reply-To: References: <20171025224620.GB31834@localhost.localdomain> Message-ID: <20171026160407.GA2474@localhost.localdomain> Dear Forum, concerning the question asked by Tim Kohl, about dealing with certain subspaces of group algebras, I am not sure whether I understand what the goal is. Perhaps we try a different approach, using the implementation of cyclotomic fields instead of the algebraic extensions. (Of course this is neither general enough nor practically desirable.) Consider the following GAP session. gap> r2:= Sqrt( 2 );; # a square root of 2 gap> K:= Field( Rationals, [ r2 ] );; # the field extension gap> S3:= SymmetricGroup( 3 );; gap> KS3:= GroupRing( K, S3 );; gap> emb:= Embedding( S3, KS3 );; gap> gens:= [ (1,2)^emb + (1,2,3)^emb, (1,3,2)^emb + (1,3)^emb ]; [ (1)*(1,2)+(1)*(1,2,3), (1)*(1,3,2)+(1)*(1,3) ] Now one wants to create a Q-space that is generated by some elements in KS3. For that, we can either view the group algebra as a Q-space, ... gap> Q_KS3:= AsAlgebra( Rationals, KS3 );; gap> Dimension( Q_KS3 ); 12 gap> Dimension( KS3 ); 6 gap> H1:= Subspace( Q_KS3, gens ); ... or we form the vector space independent of the group algebra, just by prescribing the base field and generators. (The two variants are of course equal as sets.) gap> H2:= VectorSpace( Rationals, gens ); gap> H1 = H2; true In both cases, forming products of elements in the subspaces works. gap> prod:= gens[1] * gens[2]; (1)*()+(1)*(2,3)+(1)*(1,2)+(1)*(1,2,3) gap> prod in H; false Is this roughly the setup of interest? If yes then the analogous construction using general algebraic extensions would require to deal with algebras/spaces over subfields of the extension. Is that available? All the best, Thomas On Thu, Oct 26, 2017 at 11:15:16AM -0400, tkohl at math.bu.edu wrote: > > Dear forum, > > This has gotten me part way to what I'm looking for. > > (Many thanks Frank.) > > But I'm running into a different problem now. > > Basically, if one has, for example, > > a:=Indeterminate(Rationals,"r"); > K:=AlgebraicExtension(Rationals,r^2-2) > S3:=SymmetricGroup(3); > KS3:=GroupRing(K, S3); > emb:=Embedding(S3,KS3); > > then I would like to be able to view KS3 as > a module over Q, so that I can do something > like this > > H:=Subspace(KD3,[(1,2)^emb+(1,2,3)^emb, (1,3,2)^emb+(1,3)^emb ]); > > so that H is the Q-span of { (1,2)+(1,2,3) , (1,3,2)+(1,3) } > with the ultimate goal of being able to multiply elements > of H and represent them with respect to this basis. > > [I'm basically looking at Q-subalgebras of KG.] > > Also, as an aside, the GaloisGroup() function seems > not to be working. It gives the "no method found" error > if I try to do GaloisGroup(K). [I'm using 4r8.] > > Thanks. > > -T From tkohl at math.bu.edu Thu Oct 26 17:35:51 2017 From: tkohl at math.bu.edu (tkohl at math.bu.edu) Date: Thu, 26 Oct 2017 12:35:51 -0400 (EDT) Subject: [GAP Forum] working with GroupRings In-Reply-To: <20171026160407.GA2474@localhost.localdomain> References: <20171025224620.GB31834@localhost.localdomain> <20171026160407.GA2474@localhost.localdomain> Message-ID: Dear Thomas and forum. This is indeed what I'm trying to do. Thanks for the code sample! The Field() construction seems to behave much nicer than AlgebraicExtension. I'm going to push my luck a bit and ask if I can adjoin 2^(1/3) since I want to work in the splitting field of x^3-2. As an aside, I found that back in 2001 or so someone was trying to develop a Hopf algebra package for GAP, but I couldn't find any further mention of it. (I am looking at sub-algebras of Hopf algebras.) -T On Thu, 26 Oct 2017, Thomas Breuer wrote: > Dear Forum, > > concerning the question asked by Tim Kohl, > about dealing with certain subspaces of group algebras, > I am not sure whether I understand what the goal is. > > Perhaps we try a different approach, using the implementation > of cyclotomic fields instead of the algebraic extensions. > (Of course this is neither general enough nor practically desirable.) > > Consider the following GAP session. > > gap> r2:= Sqrt( 2 );; # a square root of 2 > gap> K:= Field( Rationals, [ r2 ] );; # the field extension > gap> S3:= SymmetricGroup( 3 );; > gap> KS3:= GroupRing( K, S3 );; > gap> emb:= Embedding( S3, KS3 );; > gap> gens:= [ (1,2)^emb + (1,2,3)^emb, (1,3,2)^emb + (1,3)^emb ]; > [ (1)*(1,2)+(1)*(1,2,3), (1)*(1,3,2)+(1)*(1,3) ] > > Now one wants to create a Q-space that is generated by some elements in KS3. > For that, we can either view the group algebra as a Q-space, ... > > gap> Q_KS3:= AsAlgebra( Rationals, KS3 );; > gap> Dimension( Q_KS3 ); > 12 > gap> Dimension( KS3 ); > 6 > gap> H1:= Subspace( Q_KS3, gens ); > > > ... or we form the vector space independent of the group algebra, > just by prescribing the base field and generators. > (The two variants are of course equal as sets.) > > gap> H2:= VectorSpace( Rationals, gens ); > > gap> H1 = H2; > true > > In both cases, forming products of elements in the subspaces works. > > gap> prod:= gens[1] * gens[2]; > (1)*()+(1)*(2,3)+(1)*(1,2)+(1)*(1,2,3) > gap> prod in H; > false > > Is this roughly the setup of interest? > If yes then the analogous construction using general algebraic extensions > would require to deal with algebras/spaces over subfields of the extension. > Is that available? > > All the best, > Thomas > > > On Thu, Oct 26, 2017 at 11:15:16AM -0400, tkohl at math.bu.edu wrote: > > > > Dear forum, > > > > This has gotten me part way to what I'm looking for. > > > > (Many thanks Frank.) > > > > But I'm running into a different problem now. > > > > Basically, if one has, for example, > > > > a:=Indeterminate(Rationals,"r"); > > K:=AlgebraicExtension(Rationals,r^2-2) > > S3:=SymmetricGroup(3); > > KS3:=GroupRing(K, S3); > > emb:=Embedding(S3,KS3); > > > > then I would like to be able to view KS3 as > > a module over Q, so that I can do something > > like this > > > > H:=Subspace(KD3,[(1,2)^emb+(1,2,3)^emb, (1,3,2)^emb+(1,3)^emb ]); > > > > so that H is the Q-span of { (1,2)+(1,2,3) , (1,3,2)+(1,3) } > > with the ultimate goal of being able to multiply elements > > of H and represent them with respect to this basis. > > > > [I'm basically looking at Q-subalgebras of KG.] > > > > Also, as an aside, the GaloisGroup() function seems > > not to be working. It gives the "no method found" error > > if I try to do GaloisGroup(K). [I'm using 4r8.] > > > > Thanks. > > > > -T > > > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum > -- Dr. Timothy Kohl | Desktop Services Specialist, Sr. Boston University Information Services & Technology | IT Help Center tkohl at bu.edu | 617.353.8203 | bu.edu/tech From sk239 at st-andrews.ac.uk Sat Oct 28 13:29:00 2017 From: sk239 at st-andrews.ac.uk (Stefan Kohl) Date: Sat, 28 Oct 2017 14:29:00 +0200 Subject: [GAP Forum] [group-pub-forum] Arithmetic GAP code In-Reply-To: <1742854481.5028129.1509188245343@mail.yahoo.com> References: <1742854481.5028129.1509188245343.ref@mail.yahoo.com> <1742854481.5028129.1509188245343@mail.yahoo.com> Message-ID: <43b81894-b986-2106-6ab5-b71057ec3339@st-andrews.ac.uk> I think the following functions should serve your purpose: ??? TauPrime := n -> Product(List(Collected(Factors(n)),p->Tau(p[2]))); ??? SigmaPrime := n -> Product(List(Collected(Factors(n)),p->Sum(DivisorsInt(p[2]),d->p[1]^d))); Does this help you? Best regards, ???? Stefan P.S.: Questions about GAP are best sent to the GAP Forum. Am 28.10.2017 um 12:57 schrieb lopo apelo kosho: > Dear Friends, > Consider n=p_1^a1?p_r^ar. An integer d=p_i^bi?p_r^br?is called an > /exponential divisor/?of n?if b_i divides? a_i?for every 1?i?r. > I am trying to write a GAP code to compute the? two functions: ??(n), > the number of exponential divisors of n, and ??(n), the sum of the > exponential divisors of n. > Both ???and ???are multiplicative, hence we only need to look at them > on prime powers. For example > ??(p^6)=p+p^2+p^3+p^6, > and > ??(p^6)=4. > Thank you. From gutsche at mathematik.uni-siegen.de Sat Nov 4 12:17:50 2017 From: gutsche at mathematik.uni-siegen.de (Sebastian Gutsche) Date: Sat, 4 Nov 2017 13:17:50 +0100 Subject: [GAP Forum] Workshop announcement: GAP-Jupyter-Workshop Message-ID: <822c5040-e10a-9af3-aee8-c96388c527e7@mathematik.uni-siegen.de> Dear all, many new technologies for interactive documents, such as the GAP native Jupyter Kernel (https://github.com/gap-packages/JupyterKernel), MyBinder (https://mybinder.org/), ThebeLab (https://minrk.github.io/thebelab/) have been developed recently. We would like to organise a workshop to bring together people who are developing or using these technologies, and people who want to use them. The whole workshop will focus on live structured documents in GAP, and topics include (but are not limited to): * The GAP JupyterKernel * Javascript-Visualizations using GAP and Jupyter * Using Thebe for interactive GAP manuals * Developing teaching materials with GAP and Jupyter, and publishing them using MyBinder * Writing academic publications using MyBinder and Docker images, to make all computational results and all examples fully and easily reproducible. We want to use the workshop to collect ideas, start work on projects, provide tutorials for use cases, etc. The workshop will most likely take place in St Andrews, possible dates are March 19-23 or March 26-30. To choose a date, we have created a foodle (https://terminplaner2.dfn.de/foodle/GAP-Jupyter-Workshop-59f86). The poll will be open until November 12. If you are interested in the workshop, please participate in the foodle. More information is coming soon. Best regards, Markus Pfeiffer & Sebastian Gutsche From e.obrien at auckland.ac.nz Mon Nov 6 22:24:05 2017 From: e.obrien at auckland.ac.nz (Eamonn O'Brien) Date: Tue, 7 Nov 2017 11:24:05 +1300 Subject: [GAP Forum] Hausdorff Institute Program on "Logic and Algorithms in Group Theory" Message-ID: <5d949a89-7ff0-f044-e9ce-16e0bf884507@auckland.ac.nz> Dear Colleagues: Andre Nies (Auckland), Katrin Tent (Muenster) and I will run a trimester program at the Hausdorff Institute https://www.him.uni-bonn.de/ in Bonn from September - December 2018. The program is entitled? "Logic and Algorithms in Group Theory" and has a broad focus. More details can be found at https://www.him.uni-bonn.de/programs/future-programs/future-trimester-programs/logic-algorithms-groups/description/ The program offers substantial financial support for PhD students, Post-Doctoral Fellows, and established researchers to participate. Application to participate in the program is open until 15 January 2018. You can apply online at https://www.him.uni-bonn.de/programs/future-programs/future-trimester-programs/logic-algorithms-groups/online-application/ Please draw the attention of students and others to this opportunity. I am happy to answer related questions. Best wishes. Eamonn O'Brien From alexander.bors at sbg.ac.at Wed Nov 15 06:12:38 2017 From: alexander.bors at sbg.ac.at (Bors Alexander) Date: Wed, 15 Nov 2017 06:12:38 +0000 Subject: [GAP Forum] Details on order computation with GAP Message-ID: <357A53712CAE534B87C05C36985AF0EAF14BB28F@xchmbx2.is.sbg.ac.at> Dear GAP Forum, For theoretical complexity considerations/comparisons, I would be interested to know how GAP's built-in algorithm for order computation, called via Order (discussed in Subsection 31.10-10 in the manual), proceeds to compute the order of an automorphism alpha of a finite pc group G, where alpha is defined via its images on the presentation generators of G (through a call of GroupHomomorphismByImages). Since the manual does not seem to give details on this, is there any way to find out other than diving into GAP's source code? Thank you very much for your answers. Best wishes, Alexander From gutsche at mathematik.uni-siegen.de Wed Nov 15 08:50:16 2017 From: gutsche at mathematik.uni-siegen.de (Sebastian Gutsche) Date: Wed, 15 Nov 2017 09:50:16 +0100 Subject: [GAP Forum] Jupyter Workshop - New poll Message-ID: <3db135de-38ef-8d1d-56a5-1b6d9144aef6@mathematik.uni-siegen.de> Dear all, since some people are not able to attend at the proposed dates of the Jupyter-GAP-Workshop, we have decided to propose more dates and create a [new poll](https://terminplaner2.dfn.de/foodle/Jupyter-Workshop-New-dates-5a0b0). If you like to participate, please fill in the dates on which you are available. The poll will stay open until November 23. Even if the main focus of this workshop is meant to be on GAP and Jupyter, it is of course not limited to it. All developers of Jupyter and other CAS are highly welcome to bring their projects, and look for possibilities to collaborate. To emphasize this, the new "official title" will be "Jupyter Workshop for GAP & other CAS". Best regards, Markus & Sebastian From Alexander.Hulpke at colostate.edu Wed Nov 15 14:10:25 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Wed, 15 Nov 2017 14:10:25 +0000 Subject: [GAP Forum] Details on order computation with GAP In-Reply-To: <357A53712CAE534B87C05C36985AF0EAF14BB28F@xchmbx2.is.sbg.ac.at> References: <357A53712CAE534B87C05C36985AF0EAF14BB28F@xchmbx2.is.sbg.ac.at> Message-ID: <7F7D532E-3C35-42A4-814A-4097D4561459@colostate.edu> Dear Forum, Dear Alexander Bors, For theoretical complexity considerations/comparisons, I would be interested to know how GAP's built-in algorithm for order computation, called via Order (discussed in Subsection 31.10-10 in the manual), proceeds to compute the order of an automorphism alpha of a finite pc group G, where alpha is defined via its images on the presentation generators of G (through a call of GroupHomomorphismByImages). Since the manual does not seem to give details on this, is there any way to find out other than diving into GAP's source code? Thank you very much for your answers. Basically you need to look at the source code, but `ApplicableMethod? can be used to find this method easily: gap> g:=SmallGroup(96,100); gap> a:=AutomorphismGroup(g); gap> me:=ApplicableMethod(Order,[a.7],1); #I Searching Method for Order with 1 arguments: #I Total: 20 entries #I Method 9 : ``Order: for automorphisms'' at /Users/hulpke/gap4/lib/morpheus.gi:20 , valu\ e: 17 function( hom ) ... end gap> Print(me); function ( hom ) local map, phi, o, lo, i, start, img; o := 1; phi := hom; map := MappingGeneratorsImages( phi ); [?] You?ll see that the method iteratively maps generators of the group through the automorphism, until they are back at the start again. This is a very general method that works OK if only a few orders are computed. If order computation was time critical ,there are some obvious improvements, e.g. (this comes to mind first, there is no claim that this is best complexity): Choose a pc presentation that refines a characteristic series G=C_0>C_1>?.. Remember at which levels the characteristic subgroups sit. Then compute the order modulo C_1 and replace the automorphism by that power. Then order modulo C_1, and so on. The order is the product of these orders. The problem with implementing this as a default method is that further preprocessing is needed, which can be costly if ever only one element order is of interest. As so far nobody ever mentioned that for them the order of automorphisms was critical we did not look into this further. Best, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From williamgiuliano00 at gmail.com Thu Nov 30 14:37:34 2017 From: williamgiuliano00 at gmail.com (William Giuliano) Date: Thu, 30 Nov 2017 14:37:34 +0000 Subject: [GAP Forum] Presentation of a group Message-ID: Dear Forum, I have written the presentation of two groups, which I am quite sure are the Mathieu group M_24 and the Held group. The problem I have is the message I get when I try to find their orders: #I Coset table calculation failed -- trying with bigger table limit #I Coset table calculation failed -- trying with bigger table limit Error, reached the pre-set memory limit (change it with the -o command line option) in g[2 * limit] := 0; I don't know if this is an indication of an actual error in my presentation or something which has to do with GAP. Here is one of the presentations gap> f:=FreeGroup("a_1","a_2","a_3","a_4","a_5","a_6","a_7","a_8","a_9","a_10","a_11","a_12","a_13"); gap> r:=[f.1^2,Comm(f.1,f.3)*f.2^(-1),Comm(f.1,f.5)*f.4^(-1),Comm(f.1,f.8)*f.7^(-1),Comm(f.1,f.9),Comm(f.1,f.10),Comm(f.1,f.12),Comm(f.1,f.13)*f.6^(-1), > f.2^2,Comm(f.2,f.6)*f.4^(-1),Comm(f.2,f.8),Comm(f.2,f.9)*f.7^(-1),Comm(f.2,f.10),Comm(f.2,f.11)*f.1^(-1),Comm(f.2,f.13)*(f.4*f.5)^(-1), > f.3^2,Comm(f.3,f.6)*f.5^(-1),Comm(f.3,f.7),Comm(f.3,f.9)*f.8^(-1),Comm(f.3,f.10),(f.3*f.11)^3,Comm(f.3,f.13)*f.4^(-1), > f.4^2,Comm(f.4,f.8),Comm(f.4,f.9),Comm(f.4,f.10)*f.7^(-1),Comm(f.4,f.12)*f.2^(-1), > f.5^2,Comm(f.5,f.7),Comm(f.5,f.9),Comm(f.5,f.10)*f.8^(-1),Comm(f.5,f.11)*f.6^(-1),Comm(f.5,f.12)*f.3^(-1), > f.6^2,Comm(f.6,f.7),Comm(f.6,f.8),Comm(f.6,f.10)*f.9^(-1),(f.6*f.12)^3, > f.7^2,Comm(f.7,f.11),Comm(f.7,f.12),Comm(f.7,f.13)*f.4^(-1), > f.8^2,Comm(f.8,f.11)*f.9^(-1),Comm(f.8,f.12),Comm(f.8,f.13)*f.5^(-1), > f.9^2,Comm(f.9,f.12)*f.10^(-1),Comm(f.9,f.13)*f.6^(-1), > f.10^2,Comm(f.10,f.11),(f.10*f.13)^3, > f.11^2,(f.11*f.12)^4,Comm(f.11,f.13)*(f.6*f.4)^(-1), > f.12^2,(f.12*f.13)^5, > f.13^2,(f.6*f.12*f.13)^5,(f.10*f.13*f.12)^5];; gap> g:=f / r; Thanks Best regards, William From D.F.Holt at warwick.ac.uk Fri Dec 1 12:22:44 2017 From: D.F.Holt at warwick.ac.uk (Derek Holt) Date: Fri, 1 Dec 2017 12:22:44 +0000 Subject: [GAP Forum] Presentation of a group In-Reply-To: References: Message-ID: <20171201122244.GA24712@warwick.ac.uk> Dear William, Forum, I think possibly you are being a little naive in expecting GAP to be able to compute the order of these groups just starting from a presentation. GAP will attempt to find the order using coset enumeration, either over the trivial subgroup or over a cyclic subgroup. These two groups have orders 244823040 and 4030387200. The smallest indexes of cyclic subgroups are (if I have got this right) 10644480 and 143942400, but there is no guarantee that GAP would find a cyclic group of smallest index. While these numbers are not completely outside the range of coset enumeration, you would need a lot of memory to carry them out. So the messages you are getting from GAP are not surprising - I have not checked your presentation, but there is no reason to believe that there is mistake in it. You would do better to look for subgroups of smaller index, possibly defined on a subset of the generators, and attempt coset enumeration directly over those subgroups, rather than just asking GAP for the order. But you would need to take into account that if you did that and it worked, and the image of the permutation action calculated has the expected order, then you would still need to show that action was core-free. You could attmept that either by using the visible relations that involved only those subgroup generators, or by computing a presentation of the subgroup and then calculating its order. Best wishes, Derek Holt On Thu, Nov 30, 2017 at 02:37:34PM +0000, William Giuliano wrote: > Dear Forum, > I have written the presentation of two groups, which I > am quite sure are the Mathieu group M_24 and the Held group. The problem I > have is the message I get when I try to find their orders: > > #I Coset table calculation failed -- trying with bigger table limit > > #I Coset table calculation failed -- trying with bigger table limit > > Error, reached the pre-set memory limit > > (change it with the -o command line option) in > > g[2 * limit] := 0; > > > I don't know if this is an indication of an actual error in my presentation > or something which has to do with GAP. Here is one of the presentations > > gap> > f:=FreeGroup("a_1","a_2","a_3","a_4","a_5","a_6","a_7","a_8","a_9","a_10","a_11","a_12","a_13"); > > a_9, a_10, a_11, a_12, a_13 ]> > > gap> > r:=[f.1^2,Comm(f.1,f.3)*f.2^(-1),Comm(f.1,f.5)*f.4^(-1),Comm(f.1,f.8)*f.7^(-1),Comm(f.1,f.9),Comm(f.1,f.10),Comm(f.1,f.12),Comm(f.1,f.13)*f.6^(-1), > > > > f.2^2,Comm(f.2,f.6)*f.4^(-1),Comm(f.2,f.8),Comm(f.2,f.9)*f.7^(-1),Comm(f.2,f.10),Comm(f.2,f.11)*f.1^(-1),Comm(f.2,f.13)*(f.4*f.5)^(-1), > > > > f.3^2,Comm(f.3,f.6)*f.5^(-1),Comm(f.3,f.7),Comm(f.3,f.9)*f.8^(-1),Comm(f.3,f.10),(f.3*f.11)^3,Comm(f.3,f.13)*f.4^(-1), > > > > f.4^2,Comm(f.4,f.8),Comm(f.4,f.9),Comm(f.4,f.10)*f.7^(-1),Comm(f.4,f.12)*f.2^(-1), > > > > f.5^2,Comm(f.5,f.7),Comm(f.5,f.9),Comm(f.5,f.10)*f.8^(-1),Comm(f.5,f.11)*f.6^(-1),Comm(f.5,f.12)*f.3^(-1), > > > f.6^2,Comm(f.6,f.7),Comm(f.6,f.8),Comm(f.6,f.10)*f.9^(-1),(f.6*f.12)^3, > > > f.7^2,Comm(f.7,f.11),Comm(f.7,f.12),Comm(f.7,f.13)*f.4^(-1), > > > f.8^2,Comm(f.8,f.11)*f.9^(-1),Comm(f.8,f.12),Comm(f.8,f.13)*f.5^(-1), > > > f.9^2,Comm(f.9,f.12)*f.10^(-1),Comm(f.9,f.13)*f.6^(-1), > > > f.10^2,Comm(f.10,f.11),(f.10*f.13)^3, > > > f.11^2,(f.11*f.12)^4,Comm(f.11,f.13)*(f.6*f.4)^(-1), > > > f.12^2,(f.12*f.13)^5, > > > f.13^2,(f.6*f.12*f.13)^5,(f.10*f.13*f.12)^5];; > > gap> g:=f / r; > > a_10, a_11, a_12, a_13 ]> > > > Thanks > Best regards, > William > _______________________________________________ > Forum mailing list > Forum at mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum From samuel.lelievre at gmail.com Fri Dec 1 21:22:15 2017 From: samuel.lelievre at gmail.com (=?UTF-8?Q?Samuel_Leli=C3=A8vre?=) Date: Fri, 1 Dec 2017 15:22:15 -0600 Subject: [GAP Forum] =?utf-8?q?Software_tools_for_mathematics=2C_22-26_Jan?= =?utf-8?b?IDIwMTgsIE1vcmVsaWEsIE1pY2hvYWPDoW4sIE3DqXhpY28=?= Message-ID: Dear Forum, This is to announce the following week-long event: Software tools for mathematics 22-26 Jan 2018 -- Morelia, Michoac?n, M?xico http://matmor.unam.mx/software-tools-math/ This meeting will start with a two-day Software Carpentry workshop with lessons (taught in Spanish) on - the Unix shell - version control with Git - programming with Python Then, a three-day part on mathematical software (mostly in English) with presentations of - CoCalc - collaborative calculation in the cloud - Emacs - extensible and customizable text editor - Discreture - iterators for combinatorial objects - DiscreteZoo - a repository of discrete objects - GAP - Groups, Algorithms, Programming - Jupyter - notebooks for exploration and reproducible research - PARI/GP - fast computations in number theory - SageMath - the Sage mathematics software system - TeXmacs - typesetting mathematics and more - YAGS - Yet Another Graph System - a GAP package If you are interested, please register very soon using the form linked to from the workshop's website. Kind regards, Samuel -- Samuel Leli?vre -- http://www.math.u-psud.fr/~lelievre Permanent: Mathematics, Orsay, U Paris-Sud, France Sabbatical semester: CCM, UNAM Morelia, Mexico - Software Carpentry -- http://software-carpentry.org - OpenDreamKit -- http://opendreamkit.org/ - IMAGINARY -- http://www.imaginary.org/ From surinder.kaur at iitrpr.ac.in Mon Dec 4 05:47:55 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Mon, 4 Dec 2017 11:17:55 +0530 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP Message-ID: Dear Forum I wanted to get some information in GAP about the elements of augmentation 1 in the group algebra FG, where F is a Galois field with 3 elements and G is non-abelian of order 3^3. I am trying this way: g:=SmallGroup(3^3,3);; f:=GF(3);; fg:=GroupRing(f,g);; e:=Identity(fg);; m:=MinimalGeneratingSet(g);; v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; Print (v[1], "\n"); But I am getting that "it has reached pre-set memory limit". How can I get the elements of v. Any suggestion will be highly appreciated. -- *Regards**Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From alexander.konovalov at st-andrews.ac.uk Mon Dec 4 10:04:19 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Mon, 4 Dec 2017 10:04:19 +0000 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP In-Reply-To: References: Message-ID: Dear Surinder, You have 3^27 elements in fg, and 3^26 of them of augmentation one, so the calculation which you're trying to perform is not feasible. You need to use the LAGUNA package to be able work with normalised unit group of fg in a very efficient pc presentation and then interpret the result in terms of fg. See, for example, a sample calculation at https://gap-packages.github.io/laguna/doc/chap2.html For example, in your setup, you can find the minimal generating set of the normalised unit group as follows: gap> g:=SmallGroup(3^3,3);; gap> f:=GF(3);; gap> fg:=GroupRing(f,g);; gap> u:=NormalizedUnitGroup(fg); gap> v:=PcNormalizedUnitGroup(fg); gap> MinimalGeneratingSet(v); [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] gap> gens:=MinimalGeneratingSet(v); [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] gap> phi:=NaturalBijectionToNormalizedUnitGroup(fg);; gap> List(gens,x -> x^phi); [ (Z(3)^0)*f1, (Z(3)^0)*f2, (Z(3))* of ...+(Z(3)^0)*f2+(Z(3)^0)*f2^ 2, (Z(3))* of ...+(Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f1*f2, (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f1^2, (Z(3)^0)*f1+(Z(3))*f2+(Z(3)^0)*f1*f2+(Z(3))*f2^2+(Z(3)^0)*f1*f2^2, (Z(3))*f1+(Z(3)^0)*f2+(Z(3))*f1^2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1^2*f2, (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f1^2+(Z(3)^ 0)*f1*f2+(Z(3)^0)*f2^2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1*f2^2+(Z(3)^0)*f1^ 2*f2^2, (Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f3+(Z(3))*f1^2+(Z(3))*f1*f2+(Z(3)^ 0)*f1*f3+(Z(3))*f2^2+(Z(3)^0)*f2*f3+(Z(3))*f1^2*f2+(Z(3)^0)*f1^2*f3+( Z(3))*f1*f2^2+(Z(3)^0)*f1*f2*f3+(Z(3)^0)*f2^2*f3+(Z(3))*f1^2*f2^2+(Z(3)^ 0)*f1^2*f2*f3+(Z(3)^0)*f1*f2^2*f3+(Z(3)^0)*f1^2*f2^2*f3, (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f3+(Z(3)^0)*f1^ 2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1*f3+(Z(3)^0)*f2^2+(Z(3)^0)*f2*f3+(Z(3)^0)*f3^ 2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1^2*f3+(Z(3)^0)*f1*f2^2+(Z(3)^0)*f1*f2*f3+( Z(3)^0)*f1*f3^2+(Z(3)^0)*f2^2*f3+(Z(3)^0)*f2*f3^2+(Z(3)^0)*f1^2*f2^2+( Z(3)^0)*f1^2*f2*f3+(Z(3)^0)*f1^2*f3^2+(Z(3)^0)*f1*f2^2*f3+(Z(3)^ 0)*f1*f2*f3^2+(Z(3)^0)*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3+(Z(3)^0)*f1^ 2*f2*f3^2+(Z(3)^0)*f1*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3^2 ] Please do not hesitate ask me if you will have further questions. Best regards, Alexander > On 4 Dec 2017, at 05:47, Surinder Kaur wrote: > > Dear Forum > > I wanted to get some information in GAP about the elements of augmentation > 1 in the group algebra FG, where F is a Galois field with 3 elements and G > is non-abelian of order 3^3. > > I am trying this way: > > g:=SmallGroup(3^3,3);; > f:=GF(3);; > fg:=GroupRing(f,g);; > e:=Identity(fg);; > m:=MinimalGeneratingSet(g);; > v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; > Print (v[1], "\n"); > > > But I am getting that "it has reached pre-set memory limit". > > How can I get the elements of v. Any suggestion will be highly appreciated. > > -- > > *Regards**Surinder Kaur* > *Research scholar * > *Department of Mathematics * > *IIT Ropar* From surinder.kaur at iitrpr.ac.in Thu Dec 7 13:19:01 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Thu, 7 Dec 2017 18:49:01 +0530 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP In-Reply-To: References: Message-ID: Dear Forum, Dear Alexander Konovalov, I wanted to calculate the size of the centralizer of an element of V(FG) in FG, when F is a finite field with 3 elements and G is a non-abelain group of order 3^3. I am unable to do this even with the help of LAGUNA package. It is showing that it is "beyond its memory limit." On Mon, Dec 4, 2017 at 3:34 PM, Alexander Konovalov < alexander.konovalov at st-andrews.ac.uk> wrote: > Dear Surinder, > > You have 3^27 elements in fg, and 3^26 of them of augmentation one, so the > calculation > which you're trying to perform is not feasible. You need to use the LAGUNA > package > to be able work with normalised unit group of fg in a very efficient pc > presentation > and then interpret the result in terms of fg. See, for example, a sample > calculation > at https://gap-packages.github.io/laguna/doc/chap2.html > > For example, in your setup, you can find the minimal generating set of the > normalised unit group as follows: > > gap> g:=SmallGroup(3^3,3);; > gap> f:=GF(3);; > gap> fg:=GroupRing(f,g);; > gap> u:=NormalizedUnitGroup(fg); > > gap> v:=PcNormalizedUnitGroup(fg); > > gap> MinimalGeneratingSet(v); > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > gap> gens:=MinimalGeneratingSet(v); > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > gap> phi:=NaturalBijectionToNormalizedUnitGroup(fg);; > gap> List(gens,x -> x^phi); > [ (Z(3)^0)*f1, (Z(3)^0)*f2, (Z(3))* of > ...+(Z(3)^0)*f2+(Z(3)^0)*f2^ > 2, (Z(3))* of ...+(Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f1*f2, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f1^2, > (Z(3)^0)*f1+(Z(3))*f2+(Z(3)^0)*f1*f2+(Z(3))*f2^2+(Z(3)^0)*f1*f2^2, > (Z(3))*f1+(Z(3)^0)*f2+(Z(3))*f1^2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1^2*f2, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f1^2+(Z(3)^ > 0)*f1*f2+(Z(3)^0)*f2^2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1*f2^2+(Z(3)^0)*f1^ > 2*f2^2, (Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f3+(Z(3))*f1^2+(Z(3))*f1*f2+( > Z(3)^ > 0)*f1*f3+(Z(3))*f2^2+(Z(3)^0)*f2*f3+(Z(3))*f1^2*f2+(Z(3)^0)*f1^2*f3+( > Z(3))*f1*f2^2+(Z(3)^0)*f1*f2*f3+(Z(3)^0)*f2^2*f3+(Z(3))*f1^ > 2*f2^2+(Z(3)^ > 0)*f1^2*f2*f3+(Z(3)^0)*f1*f2^2*f3+(Z(3)^0)*f1^2*f2^2*f3, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+( > Z(3)^0)*f3+(Z(3)^0)*f1^ > 2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1*f3+(Z(3)^0)*f2^2+(Z(3)^0)*f2* > f3+(Z(3)^0)*f3^ > 2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1^2*f3+(Z(3)^0)*f1*f2^2+(Z(3) > ^0)*f1*f2*f3+( > Z(3)^0)*f1*f3^2+(Z(3)^0)*f2^2*f3+(Z(3)^0)*f2*f3^2+(Z(3)^0)*f1^2*f2^2+( > Z(3)^0)*f1^2*f2*f3+(Z(3)^0)*f1^2*f3^2+(Z(3)^0)*f1*f2^2*f3+(Z(3)^ > 0)*f1*f2*f3^2+(Z(3)^0)*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3+(Z(3)^0)*f1^ > 2*f2*f3^2+(Z(3)^0)*f1*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3^2 ] > > Please do not hesitate ask me if you will have further questions. > > Best regards, > Alexander > > > > On 4 Dec 2017, at 05:47, Surinder Kaur > wrote: > > > > Dear Forum > > > > I wanted to get some information in GAP about the elements of > augmentation > > 1 in the group algebra FG, where F is a Galois field with 3 elements and > G > > is non-abelian of order 3^3. > > > > I am trying this way: > > > > g:=SmallGroup(3^3,3);; > > f:=GF(3);; > > fg:=GroupRing(f,g);; > > e:=Identity(fg);; > > m:=MinimalGeneratingSet(g);; > > v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; > > Print (v[1], "\n"); > > > > > > But I am getting that "it has reached pre-set memory limit". > > > > How can I get the elements of v. Any suggestion will be highly > appreciated. > > > > -- > > > > *Regards**Surinder Kaur* > > *Research scholar * > > *Department of Mathematics * > > *IIT Ropar* > > -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From alexander.konovalov at st-andrews.ac.uk Thu Dec 7 13:41:58 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 7 Dec 2017 13:41:58 +0000 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP In-Reply-To: References: Message-ID: <904FC7CC-F7B3-460A-8B26-837B7457D445@st-andrews.ac.uk> > On 7 Dec 2017, at 13:19, Surinder Kaur wrote: > > Dear Forum, Dear Alexander Konovalov, > > I wanted to calculate the size of the centralizer of an element of V(FG) in FG, when F is a finite field with 3 elements and G is a non-abelain group of order 3^3. I am unable to do this even with the help of LAGUNA package. It is showing that it is "beyond its memory limit." It's not surprising - you will either run out of memory or run out of time if you will try a straightforward approach. However, you can do efficient calculations of normalisers in the unit group given as a pc group: gap> g:=SmallGroup(3^3,3);; gap> f:=GF(3);; gap> fg:=GroupRing(f,g);; gap> v:=PcNormalizedUnitGroup(fg); gap> s:=Random(v); f2^2*f5*f6*f8*f10*f11*f13*f14*f17*f20^2*f24*f25^2 gap> Centraliser(v,s); and then you only have to deduce how its centraliser in FG looks like. Hope this helps, Alexander > On Mon, Dec 4, 2017 at 3:34 PM, Alexander Konovalov wrote: > Dear Surinder, > > You have 3^27 elements in fg, and 3^26 of them of augmentation one, so the calculation > which you're trying to perform is not feasible. You need to use the LAGUNA package > to be able work with normalised unit group of fg in a very efficient pc presentation > and then interpret the result in terms of fg. See, for example, a sample calculation > at https://gap-packages.github.io/laguna/doc/chap2.html > > For example, in your setup, you can find the minimal generating set of the > normalised unit group as follows: > > gap> g:=SmallGroup(3^3,3);; > gap> f:=GF(3);; > gap> fg:=GroupRing(f,g);; > gap> u:=NormalizedUnitGroup(fg); > > gap> v:=PcNormalizedUnitGroup(fg); > > gap> MinimalGeneratingSet(v); > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > gap> gens:=MinimalGeneratingSet(v); > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > gap> phi:=NaturalBijectionToNormalizedUnitGroup(fg);; > gap> List(gens,x -> x^phi); > [ (Z(3)^0)*f1, (Z(3)^0)*f2, (Z(3))* of ...+(Z(3)^0)*f2+(Z(3)^0)*f2^ > 2, (Z(3))* of ...+(Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f1*f2, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f1^2, > (Z(3)^0)*f1+(Z(3))*f2+(Z(3)^0)*f1*f2+(Z(3))*f2^2+(Z(3)^0)*f1*f2^2, > (Z(3))*f1+(Z(3)^0)*f2+(Z(3))*f1^2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1^2*f2, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f1^2+(Z(3)^ > 0)*f1*f2+(Z(3)^0)*f2^2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1*f2^2+(Z(3)^0)*f1^ > 2*f2^2, (Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f3+(Z(3))*f1^2+(Z(3))*f1*f2+(Z(3)^ > 0)*f1*f3+(Z(3))*f2^2+(Z(3)^0)*f2*f3+(Z(3))*f1^2*f2+(Z(3)^0)*f1^2*f3+( > Z(3))*f1*f2^2+(Z(3)^0)*f1*f2*f3+(Z(3)^0)*f2^2*f3+(Z(3))*f1^2*f2^2+(Z(3)^ > 0)*f1^2*f2*f3+(Z(3)^0)*f1*f2^2*f3+(Z(3)^0)*f1^2*f2^2*f3, > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f3+(Z(3)^0)*f1^ > 2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1*f3+(Z(3)^0)*f2^2+(Z(3)^0)*f2*f3+(Z(3)^0)*f3^ > 2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1^2*f3+(Z(3)^0)*f1*f2^2+(Z(3)^0)*f1*f2*f3+( > Z(3)^0)*f1*f3^2+(Z(3)^0)*f2^2*f3+(Z(3)^0)*f2*f3^2+(Z(3)^0)*f1^2*f2^2+( > Z(3)^0)*f1^2*f2*f3+(Z(3)^0)*f1^2*f3^2+(Z(3)^0)*f1*f2^2*f3+(Z(3)^ > 0)*f1*f2*f3^2+(Z(3)^0)*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3+(Z(3)^0)*f1^ > 2*f2*f3^2+(Z(3)^0)*f1*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3^2 ] > > Please do not hesitate ask me if you will have further questions. > > Best regards, > Alexander > > > > On 4 Dec 2017, at 05:47, Surinder Kaur wrote: > > > > Dear Forum > > > > I wanted to get some information in GAP about the elements of augmentation > > 1 in the group algebra FG, where F is a Galois field with 3 elements and G > > is non-abelian of order 3^3. > > > > I am trying this way: > > > > g:=SmallGroup(3^3,3);; > > f:=GF(3);; > > fg:=GroupRing(f,g);; > > e:=Identity(fg);; > > m:=MinimalGeneratingSet(g);; > > v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; > > Print (v[1], "\n"); > > > > > > But I am getting that "it has reached pre-set memory limit". > > > > How can I get the elements of v. Any suggestion will be highly appreciated. > > > > -- > > > > *Regards**Surinder Kaur* > > *Research scholar * > > *Department of Mathematics * > > *IIT Ropar* > > > > > -- > Regards > Surinder Kaur > Research scholar > Department of Mathematics > IIT Ropar -- Dr. Alexander Konovalov, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews Software Sustainability Institute Fellow https://alexk.host.cs.st-andrews.ac.uk -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From surinder.kaur at iitrpr.ac.in Sat Dec 9 11:20:14 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Sat, 9 Dec 2017 16:50:14 +0530 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP In-Reply-To: <904FC7CC-F7B3-460A-8B26-837B7457D445@st-andrews.ac.uk> References: <904FC7CC-F7B3-460A-8B26-837B7457D445@st-andrews.ac.uk> Message-ID: Dear Alexander, Dear forum Thank you very much. On Thu, Dec 7, 2017 at 7:11 PM, Alexander Konovalov < alexander.konovalov at st-andrews.ac.uk> wrote: > > > On 7 Dec 2017, at 13:19, Surinder Kaur > wrote: > > > > Dear Forum, Dear Alexander Konovalov, > > > > I wanted to calculate the size of the centralizer of an element of V(FG) > in FG, when F is a finite field with 3 elements and G is a non-abelain > group of order 3^3. I am unable to do this even with the help of LAGUNA > package. It is showing that it is "beyond its memory limit." > > It's not surprising - you will either run out of memory or run out of time > if you will try a straightforward approach. > > However, you can do efficient calculations of normalisers in the unit group > given as a pc group: > > gap> g:=SmallGroup(3^3,3);; > gap> f:=GF(3);; > gap> fg:=GroupRing(f,g);; > gap> v:=PcNormalizedUnitGroup(fg); > > gap> s:=Random(v); > f2^2*f5*f6*f8*f10*f11*f13*f14*f17*f20^2*f24*f25^2 > gap> Centraliser(v,s); > > > and then you only have to deduce how its centraliser in FG looks like. > > Hope this helps, > Alexander > > > > On Mon, Dec 4, 2017 at 3:34 PM, Alexander Konovalov < > alexander.konovalov at st-andrews.ac.uk> wrote: > > Dear Surinder, > > > > You have 3^27 elements in fg, and 3^26 of them of augmentation one, so > the calculation > > which you're trying to perform is not feasible. You need to use the > LAGUNA package > > to be able work with normalised unit group of fg in a very efficient pc > presentation > > and then interpret the result in terms of fg. See, for example, a sample > calculation > > at https://gap-packages.github.io/laguna/doc/chap2.html > > > > For example, in your setup, you can find the minimal generating set of > the > > normalised unit group as follows: > > > > gap> g:=SmallGroup(3^3,3);; > > gap> f:=GF(3);; > > gap> fg:=GroupRing(f,g);; > > gap> u:=NormalizedUnitGroup(fg); > > > > gap> v:=PcNormalizedUnitGroup(fg); > > > > gap> MinimalGeneratingSet(v); > > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > > gap> gens:=MinimalGeneratingSet(v); > > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] > > gap> phi:=NaturalBijectionToNormalizedUnitGroup(fg);; > > gap> List(gens,x -> x^phi); > > [ (Z(3)^0)*f1, (Z(3)^0)*f2, (Z(3))* of > ...+(Z(3)^0)*f2+(Z(3)^0)*f2^ > > 2, (Z(3))* of ...+(Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f1*f2, > > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f1^2, > > (Z(3)^0)*f1+(Z(3))*f2+(Z(3)^0)*f1*f2+(Z(3))*f2^2+(Z(3)^0)*f1*f2^2, > > (Z(3))*f1+(Z(3)^0)*f2+(Z(3))*f1^2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1^2*f2, > > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f1^2+(Z(3)^ > > 0)*f1*f2+(Z(3)^0)*f2^2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1*f2^2+( > Z(3)^0)*f1^ > > 2*f2^2, (Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f3+(Z(3))*f1^2+(Z(3))*f1*f2+( > Z(3)^ > > 0)*f1*f3+(Z(3))*f2^2+(Z(3)^0)*f2*f3+(Z(3))*f1^2*f2+(Z(3)^0)* > f1^2*f3+( > > Z(3))*f1*f2^2+(Z(3)^0)*f1*f2*f3+(Z(3)^0)*f2^2*f3+(Z(3))*f1^ > 2*f2^2+(Z(3)^ > > 0)*f1^2*f2*f3+(Z(3)^0)*f1*f2^2*f3+(Z(3)^0)*f1^2*f2^2*f3, > > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+( > Z(3)^0)*f3+(Z(3)^0)*f1^ > > 2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1*f3+(Z(3)^0)*f2^2+(Z(3)^0)*f2* > f3+(Z(3)^0)*f3^ > > 2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1^2*f3+(Z(3)^0)*f1*f2^2+(Z(3) > ^0)*f1*f2*f3+( > > Z(3)^0)*f1*f3^2+(Z(3)^0)*f2^2*f3+(Z(3)^0)*f2*f3^2+(Z(3)^0)* > f1^2*f2^2+( > > Z(3)^0)*f1^2*f2*f3+(Z(3)^0)*f1^2*f3^2+(Z(3)^0)*f1*f2^2*f3+(Z(3)^ > > 0)*f1*f2*f3^2+(Z(3)^0)*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3+(Z(3)^0)*f1^ > > 2*f2*f3^2+(Z(3)^0)*f1*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3^2 ] > > > > Please do not hesitate ask me if you will have further questions. > > > > Best regards, > > Alexander > > > > > > > On 4 Dec 2017, at 05:47, Surinder Kaur > wrote: > > > > > > Dear Forum > > > > > > I wanted to get some information in GAP about the elements of > augmentation > > > 1 in the group algebra FG, where F is a Galois field with 3 elements > and G > > > is non-abelian of order 3^3. > > > > > > I am trying this way: > > > > > > g:=SmallGroup(3^3,3);; > > > f:=GF(3);; > > > fg:=GroupRing(f,g);; > > > e:=Identity(fg);; > > > m:=MinimalGeneratingSet(g);; > > > v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; > > > Print (v[1], "\n"); > > > > > > > > > But I am getting that "it has reached pre-set memory limit". > > > > > > How can I get the elements of v. Any suggestion will be highly > appreciated. > > > > > > -- > > > > > > *Regards**Surinder Kaur* > > > *Research scholar * > > > *Department of Mathematics * > > > *IIT Ropar* > > > > > > > > > > -- > > Regards > > Surinder Kaur > > Research scholar > > Department of Mathematics > > IIT Ropar > > -- > Dr. Alexander Konovalov, Senior Research Fellow > Centre for Interdisciplinary Research in Computational Algebra (CIRCA) > School of Computer Science, University of St Andrews > Software Sustainability Institute Fellow > https://alexk.host.cs.st-andrews.ac.uk > -- > The University of St Andrews is a charity registered in > Scotland:No.SC013532 > > > -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar* From martin.rubey at tuwien.ac.at Sat Dec 16 21:00:05 2017 From: martin.rubey at tuwien.ac.at (Rubey Martin) Date: Sat, 16 Dec 2017 21:00:05 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups Message-ID: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> Dear all, I was directed to this forum by Derek Holt, essentially I am migrating two mathoverflow questions. I must admit that I have practically no knowledge of group theory. BACKGROUND (probably not necessary to answer the questions): The reason for my interest is that I would like to make "(isomorphism classes of) finite groups of small order" into a new collection for the database http://findstat.org. This would enable findstat's search engine, similar in spirit to the http://oeis.org, to recover a given group parameter, eg. the number of conjugacy classes, given the values of the parameter on a few small groups. More interestingly, it frequently turns out that a strange parameter on one kind of objects (eg., finite graphs), is rather easy to understand on other objects obtained by applying a natural map (eg., the automorphism group of a graph). Findstat would then discover this, too. The main difficulty in establishing finite groups as a collection for findstat is the lack of a canonical representation for finite groups: to make the search engine efficient, it is necessary that every object in the collection is uniquely represented by a (short) string. This canonical representation has to allow the reconstruction of the group - I am just realising that this could actually be circumvented, although not easily. Ideally, the canonical representation would be human readable, within limits. Although desirable, it is not strictly necessary that every object has a canonical representation, it is fine if for some groups the algorithm aborts. QUESTIONS (the first question is a bit vague, the second question is rather specific and mostly independent of the first): A. Although I have a mostly working - albeit naive - design to obtain a canonical representation for sufficiently many groups meanwhile, I am very interested in your comments. What I do is the following: 1. decompose the group (given as a permutation group) into a direct product (using DirectFactorsOfGroup), 2. for each factor, check a few special cases, in this order: IsCyclic, IsAlternatingGroup, IsSymmetricGroup, IsDihedralGroup, IsQuaternionGroup, IsQuasiDihedralGroup, IsPSL, IsSL, IsGl, and finally, all else failing, whether the group has an IdSmallGroup. Does this sound reasonable, or is there a much better scheme? Am I leaving out any obvious constructions? In any case, doing so, all automorphism groups of graphs on at most 8 vertices are covered. By contrast, the groups associated with finite Cartan types (which is another collection in findstat), are only covered for very small rank. This leads to my second question: B. I thought it would be useful to check also the special case that the group is a "generalized symmetric group", that is, the wreath product of a cyclic and a symmetric group. Derek Holt suggested to do the following: To check that G is of the form C_m ? S_n: 1. compute the largest solvable normal subgroup F of G (using RadicalGroup), check that F is Abelian 2. compute the quotient Q = G/F, check that its order is m^n n! 3. compute the Abelian invariants of the Fitting subgroup to check that it is C_n^m 4. check that quotient Q is S_n Now, there are two problems that remain: a) what should I do for n=3 and n=4? One thing that might work is to compute m (how?), and then check for isomorphism. Is there a better way? b) given that I have almost no knowledge of group theory, why does the above work? It is plausible to me that it recognises C_m^n ? S_n for n > 4, because in these cases S_n is not solvable and C_m^n is a normal solvable subgroup. However, it is not clear to me why C_m^n is the larges normal solvable subgroup. It is even less clear to me, why there are no other groups with quotient S_n and largest solvable normal subgroup C_m^n... Many thanks for your help! Martin Rubey TU Wien From Alexander.Hulpke at colostate.edu Sat Dec 16 21:58:11 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Sat, 16 Dec 2017 21:58:11 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> Message-ID: <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> Dear Martin Rubey, Dear Forum, Let me briefly comment on some aspects of your plan: There is no fundamental obstacle, but you either will end up with just referring to some of the libraries of groups, or end up with an exceeding amount of work by hand to make things come out nicely: - What groups are you planning to classify? Abstract groups or Permutation groups (i.e. group actions)? - Is your goal to classify *all* groups up to some parameter, or just some? - In the end very few groups are products in a meaningful way. You might have a) multiple product decompositions that look different but yield the same group b) product decompositions that look very similar (e.g. iterated semi direct products) but yield a large number of different groups. c) Many groups that do not have a product decomposition, but only a description as an extension. If you look at groups up to order 20 or so, it seems that there are multiple series that have plausible names (quasi-semi-dihedral and so on) , but once you go to order 50-100 all of this explodes ? you simply cannot define good names arbitrarily far. This basically means that you cannot expect to have a general routine to find a ?construction name" Instead for a description, probably the best case is to use as name an identification in the small groups or transitive groups or primitive groups libraries if the groups are in, and some ad hoc names for e.g. wreath products in various actions. You could restrict to groups that you can construct in a nice way, but then you will get asymptotically 0% of all groups. Concerning a recognition of $C_m\wr S_n$, test: - The radical is elementary abelian of dimension $n$. - The radical has (you need special treatment for 6) a complement that is a split extension of $A_n$ with $C_2$, You can recognize $A_n$ as being a simple group of order $n!$. - If $U$ is a point stabilizer of $S_n$, check that an eigenvector of $U$ for eigenvalue 1 has an orbit of length $n$ and this orbit forms a base ? thus it is the natural permutation module. Regards, Alexander Hulpke > On Dec 16, 2017, at 2:00 PM, Rubey Martin wrote: > > Dear all, > > I was directed to this forum by Derek Holt, essentially I am migrating two mathoverflow questions. I must admit that I have practically no knowledge of group theory. > > BACKGROUND (probably not necessary to answer the questions): > > The reason for my interest is that I would like to make "(isomorphism classes of) finite groups of small order" into a new collection for the database http://findstat.org. This would enable findstat's search engine, similar in spirit to the http://oeis.org, to recover a given group parameter, eg. the number of conjugacy classes, given the values of the parameter on a few small groups. More interestingly, it frequently turns out that a strange parameter on one kind of objects (eg., finite graphs), is rather easy to understand on other objects obtained by applying a natural map (eg., the automorphism group of a graph). Findstat would then discover this, too. > > The main difficulty in establishing finite groups as a collection for findstat is the lack of a canonical representation for finite groups: to make the search engine efficient, it is necessary that every object in the collection is uniquely represented by a (short) string. This canonical representation has to allow the reconstruction of the group - I am just realising that this could actually be circumvented, although not easily. Ideally, the canonical representation would be human readable, within limits. > > Although desirable, it is not strictly necessary that every object has a canonical representation, it is fine if for some groups the algorithm aborts. > > QUESTIONS (the first question is a bit vague, the second question is rather specific and mostly independent of the first): > > A. Although I have a mostly working - albeit naive - design to obtain a canonical representation for sufficiently many groups meanwhile, I am very interested in your comments. What I do is the following: > > 1. decompose the group (given as a permutation group) into a direct product (using DirectFactorsOfGroup), > 2. for each factor, check a few special cases, in this order: IsCyclic, IsAlternatingGroup, IsSymmetricGroup, IsDihedralGroup, IsQuaternionGroup, IsQuasiDihedralGroup, IsPSL, IsSL, IsGl, and finally, all else failing, whether the group has an IdSmallGroup. > > Does this sound reasonable, or is there a much better scheme? Am I leaving out any obvious constructions? > > In any case, doing so, all automorphism groups of graphs on at most 8 vertices are covered. By contrast, the groups associated with finite Cartan types (which is another collection in findstat), are only covered for very small rank. This leads to my second question: > > B. I thought it would be useful to check also the special case that the group is a "generalized symmetric group", that is, the wreath product of a cyclic and a symmetric group. Derek Holt suggested to do the following: > > To check that G is of the form C_m ? S_n: > 1. compute the largest solvable normal subgroup F of G (using RadicalGroup), check that F is Abelian > 2. compute the quotient Q = G/F, check that its order is m^n n! > 3. compute the Abelian invariants of the Fitting subgroup to check that it is C_n^m > 4. check that quotient Q is S_n > > Now, there are two problems that remain: > > a) what should I do for n=3 and n=4? One thing that might work is to compute m (how?), and then check for isomorphism. Is there a better way? > > b) given that I have almost no knowledge of group theory, why does the above work? > > It is plausible to me that it recognises C_m^n ? S_n for n > 4, because in these cases S_n is not solvable and C_m^n is a normal solvable subgroup. However, it is not clear to me why C_m^n is the larges normal solvable subgroup. > > It is even less clear to me, why there are no other groups with quotient S_n and largest solvable normal subgroup C_m^n... > > Many thanks for your help! > > Martin Rubey > TU Wien > > _______________________________________________ > Forum mailing list > Forum at gap-system.org > https://mail.gap-system.org/mailman/listinfo/forum From martin.rubey at tuwien.ac.at Sun Dec 17 07:58:45 2017 From: martin.rubey at tuwien.ac.at (Martin Rubey) Date: Sun, 17 Dec 2017 08:58:45 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> (Alexander Hulpke's message of "Sat, 16 Dec 2017 21:58:11 +0000") References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> Message-ID: <87y3m1kcp6.fsf@tuwien.ac.at> Dear Alexander Hulpke, Dear Forum, many many thanks for your comments! Let me try to clarify - I apologize for the lengthy text... > There is no fundamental obstacle, but you either will end up with just > referring to some of the libraries of groups, or end up with an > exceeding amount of work by hand to make things come out nicely: > > - What groups are you planning to classify? Abstract groups or > Permutation groups (i.e. group actions)? the idea is to have finite abstract groups in findstat. > - Is your goal to classify *all* groups up to some parameter, or just > some? I am guessing that it is essentially impossible to classify all groups. Fortunately, for the purposes of findstat this is not nessecary. Asymptotically 0% of all groups is not a problem. Indeed, what I would have liked most is to simply use the small groups library IdSmallGroup. Unfortunately, this does not quite work, let me explain: For each collection of objects in findstat, we consider some objects "small". For example simple graphs of at most 6 vertices, finite posets on at most 5 elements, permutations of 1,..,5, integer partitions of at most 10, finite Cartan types of rank at most 8, etc. A finite group of order at most 47 will be "small". I need to be able to uniquely identify groups these "small" groups. The findstat database also contains maps between collections. For example, there will be a map "automorphism group" from graphs to groups, a map "Weyl group" from finite Cartan types, a map "center" from groups to groups, etc. [besides: I could not come up with all that many interesting maps from groups to other objects, like permutations, yet] Thus, I additionally need to uniquely identify those finite groups that occur after applying a few (2 or 3) maps as image of some other small object. For example, applying "automorphism group" to the complete graph on 6 vertices, or "Weyl group" to A_5 we get the symmetric group S_6, so this group needs to be uniquely identified. Being able to identify these images is not an absolute requirement - if some group occurs as an image and the "classification algorithm" fails, that's OK. However, it has to be an isomorphism invariant, and it shouldn't fail "too often". Also note that maps may be added in the future, so some level of robustness is necessary. > Concerning a recognition of $C_m\wr S_n$, test: > - The radical is elementary abelian of dimension $n$. except for n=3 and n=4, right? > - The radical has (you need special treatment for 6) a complement > that is a split extension of $A_n$ with $C_2$, You can recognize > $A_n$ as being a simple group of order $n!$. > - If $U$ is a point stabilizer of $S_n$, check that an eigenvector of > $U$ for eigenvalue 1 has an orbit of length $n$ and this orbit forms > a base ? thus it is the natural permutation module. I think that's what GAP's IsSymmetricGroup does, right? Many thanks again, Martin (Rubey) From martin.rubey at tuwien.ac.at Sun Dec 17 08:19:35 2017 From: martin.rubey at tuwien.ac.at (Martin Rubey) Date: Sun, 17 Dec 2017 09:19:35 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87y3m1kcp6.fsf@tuwien.ac.at> (Martin Rubey's message of "Sun, 17 Dec 2017 08:58:45 +0100") References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> Message-ID: <8760957omg.fsf@tuwien.ac.at> Dear Forum, let me throw in a quite different idea: would it be possible to have an algorithm, that * yields a canonical description as a permutation group sometimes, * returns "fail" otherwise? Martin From joshuahunt at math.ku.dk Sun Dec 17 09:46:41 2017 From: joshuahunt at math.ku.dk (Joshua Hunt) Date: Sun, 17 Dec 2017 10:46:41 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87y3m1kcp6.fsf@tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> Message-ID: Dear Martin, Dear Forum, I'm afraid I don't quite understand your objection to the SmallGroup library. What requirements does it not fulfil? Certainly one can change the small group ID back to a GAP group object with SmallGroup(), apply (for example) the Centre() function, and then use IdSmallGroup() to recover the ID of the centre. The small group identification is also unique for a given isomorphism class of groups, so you would get the same ID for the centre of the dihedral group of order 12 as for the permutation group on two letters. (You can also recover a human-readable, non-unique description of the group using StructureDescription.) I would also point out that "groups of order less than 47" doesn't cover a lot of groups you probably would care about (e.g. symmetric/alternating groups S_5/A_5 and bigger, as mentioned in your example). Best, Josh On 17/12/17 08:58, Martin Rubey wrote: > Indeed, what I would have liked most is to simply use the small groups > library IdSmallGroup. Unfortunately, this does not quite work, let me > explain: > [...] > The findstat database also contains maps between collections. For > example, there will be a map "automorphism group" from graphs to groups, > a map "Weyl group" from finite Cartan types, a map "center" from groups > to groups, etc. [besides: I could not come up with all that many > interesting maps from groups to other objects, like permutations, yet] > > Thus, I additionally need to uniquely identify those finite groups that > occur after applying a few (2 or 3) maps as image of some other small > object. For example, applying "automorphism group" to the complete > graph on 6 vertices, or "Weyl group" to A_5 we get the symmetric group > S_6, so this group needs to be uniquely identified. > > Being able to identify these images is not an absolute requirement - if > some group occurs as an image and the "classification algorithm" fails, > that's OK. However, it has to be an isomorphism invariant, and it > shouldn't fail "too often". Also note that maps may be added in the > future, so some level of robustness is necessary. From martin.rubey at tuwien.ac.at Sun Dec 17 10:01:31 2017 From: martin.rubey at tuwien.ac.at (Martin Rubey) Date: Sun, 17 Dec 2017 11:01:31 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: (Joshua Hunt's message of "Sun, 17 Dec 2017 10:46:41 +0100") References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> Message-ID: <87a7yhsmf8.fsf@tuwien.ac.at> Dear Josh, Dear Forum, Joshua Hunt writes: > I'm afraid I don't quite understand your objection to the SmallGroup > library. What requirements does it not fulfil? Essentially: it doesn't cover S_7, S_5 ? Z_2, etc. So: the small group ID is just perfect for the "small" objects, but it simply doesn't work for enough groups obtained as images of maps from, say, graphs to groups. In fact, that's what you write here: > I would also point out that "groups of order less than 47" doesn't > cover a lot of groups you probably would care about > (e.g. symmetric/alternating groups S_5/A_5 and bigger, as mentioned > in your example). Let me try to put it in different words: when initialising the findstat database, * first we compute the canonical forms of the small objects (for groups: order less than 47) * then we apply the maps in the database (eg, "automorphism group of a graph", "Weyl group of a finite Cartan type", "center of a group"), and compositions of two and three maps, to all small objects (eg, graphs, finite Cartan types, groups,...), and compute canonical forms of those. Does this make it clearer? Best, Martin From ghorvath at science.unideb.hu Sun Dec 17 10:17:59 2017 From: ghorvath at science.unideb.hu (Horvath Gabor) Date: Sun, 17 Dec 2017 11:17:59 +0100 (CET) Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87a7yhsmf8.fsf@tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <87a7yhsmf8.fsf@tuwien.ac.at> Message-ID: I am not sure if this helps you, but maybe check out StructureDescription: https://www.gap-system.org/Manuals/doc/ref/chap39.html#X87BF1B887C91CA2E Best, Gabor On Sun, 17 Dec 2017, Martin Rubey wrote: > Dear Josh, Dear Forum, > > Joshua Hunt writes: > >> I'm afraid I don't quite understand your objection to the SmallGroup >> library. What requirements does it not fulfil? > > Essentially: it doesn't cover S_7, S_5 ? Z_2, etc. > > So: the small group ID is just perfect for the "small" objects, but it > simply doesn't work for enough groups obtained as images of maps from, > say, graphs to groups. > > In fact, that's what you write here: > >> I would also point out that "groups of order less than 47" doesn't >> cover a lot of groups you probably would care about >> (e.g. symmetric/alternating groups S_5/A_5 and bigger, as mentioned >> in your example). > > Let me try to put it in different words: > > when initialising the findstat database, > > * first we compute the canonical forms of the small objects (for groups: > order less than 47) > > * then we apply the maps in the database (eg, "automorphism group of a > graph", "Weyl group of a finite Cartan type", "center of a group"), > and compositions of two and three maps, to all small objects (eg, > graphs, finite Cartan types, groups,...), and compute canonical forms > of those. > > Does this make it clearer? > > Best, > > Martin > > _______________________________________________ > Forum mailing list > Forum at gap-system.org > https://mail.gap-system.org/mailman/listinfo/forum Horvath Gabor ------------------------------------------------------------------------------- e-mail: ghorvath at science.unideb.hu phone: +36 52 512900 / 22798 web: http://www.math.unideb.hu/horvath-gabor From sam at Math.RWTH-Aachen.De Mon Dec 18 12:10:50 2017 From: sam at Math.RWTH-Aachen.De (Thomas Breuer) Date: Mon, 18 Dec 2017 13:10:50 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87y3m1kcp6.fsf@tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> Message-ID: <20171218121049.GA4018@localhost.localdomain> Dear Martin, coming back to an initial question asked by Alexander, your examples seem to indicate that *isomorphism as abstract groups* is not the appropriate notion of equivalence. When groups arise as symmetries of finite sets such as the vertices of graphs then it is more natural to consider *permutation isomorphism* (that is, conjugacy in the symmetric group on the given points). For example, a group of order two can act on four points by swapping two pairs or by fixing two points and swapping the other two points; these two possibilities should probably be distinguished in such a context. With respect to permutation isomorphism, groups are considered as small when they are permutation groups on a small set, regardless of their group orders. GAP's library of transitive groups provides a reasonable source of small groups in this sense. All the best, Thomas On Sun, Dec 17, 2017 at 08:58:45AM +0100, Martin Rubey wrote: > Dear Alexander Hulpke, Dear Forum, > > many many thanks for your comments! Let me try to clarify - I apologize > for the lengthy text... > > > There is no fundamental obstacle, but you either will end up with just > > referring to some of the libraries of groups, or end up with an > > exceeding amount of work by hand to make things come out nicely: > > > > - What groups are you planning to classify? Abstract groups or > > Permutation groups (i.e. group actions)? > > the idea is to have finite abstract groups in findstat. > [...] From martin.rubey at tuwien.ac.at Mon Dec 18 12:57:04 2017 From: martin.rubey at tuwien.ac.at (Martin Rubey) Date: Mon, 18 Dec 2017 13:57:04 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <20171218121049.GA4018@localhost.localdomain> (Thomas Breuer's message of "Mon, 18 Dec 2017 13:10:50 +0100") References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> Message-ID: <87bmiw42jj.fsf@tuwien.ac.at> Dear Thomas, Thomas Breuer writes: > When groups arise as symmetries of finite sets such as the vertices > of graphs then it is more natural to consider *permutation isomorphism* > (that is, conjugacy in the symmetric group on the given points). Indeed, this might be another interesting collection, possibly even more interesting! That would be A000638. Is there (some sort of) a canonical form for these? I admit I am not completely sure right now: can we associate a conjugacy class of subgroups of S_n, isomorphic to the Weyl group, in a sensible way to a finite Cartan type? > GAP's library of transitive groups provides a reasonable source of > small groups in this sense. Thanks for the hint, I'll have a look! Best, Martin From e.shabani.1363 at gmail.com Tue Dec 19 08:22:49 2017 From: e.shabani.1363 at gmail.com (elham shabani) Date: Tue, 19 Dec 2017 11:52:49 +0330 Subject: [GAP Forum] How can I check out Isomorphism Lie Algebras by using gap? Message-ID: From martin.rubey at tuwien.ac.at Tue Dec 19 08:48:54 2017 From: martin.rubey at tuwien.ac.at (Martin Rubey) Date: Tue, 19 Dec 2017 09:48:54 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <20171219083051.nd6ydk63kip6qauj@mistral> (Nicolas M. Thiery's message of "Tue, 19 Dec 2017 09:30:51 +0100") References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> Message-ID: <87shc785mx.fsf@tuwien.ac.at> "Nicolas M. Thiery" writes: > On Mon, Dec 18, 2017 at 01:57:04PM +0100, Martin Rubey wrote: >> I admit I am not completely sure right now: can we associate a conjugacy >> class of subgroups of S_n, isomorphic to the Weyl group, in a sensible >> way to a finite Cartan type? > > The permutation action on the roots would be a rather natural choice. > This could be extended to affine Weyl groups using affine > permutations. Indeed! This leaves the question whether there we can compute a canonical form for permutation groups up to conjugacy. I just noticed that this is a mathoverflow question, too: https://mathoverflow.net/q/90107/3032 Unfortunately, as of today it doesn't have a straight answer, but maybe things have changed? Martin From max at quendi.de Tue Dec 19 12:11:34 2017 From: max at quendi.de (Max Horn) Date: Tue, 19 Dec 2017 13:11:34 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87shc785mx.fsf@tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> Message-ID: Dear Martin, > On 19 Dec 2017, at 09:48, Martin Rubey wrote: > > "Nicolas M. Thiery" writes: > >> On Mon, Dec 18, 2017 at 01:57:04PM +0100, Martin Rubey wrote: >>> I admit I am not completely sure right now: can we associate a conjugacy >>> class of subgroups of S_n, isomorphic to the Weyl group, in a sensible >>> way to a finite Cartan type? >> >> The permutation action on the roots would be a rather natural choice. >> This could be extended to affine Weyl groups using affine >> permutations. Note that even different (finite) Cartan types can lead to isomorphic Weyl groups, unless you restrict to irreducible ones. And if you also permit infinite Weyl groups, then even for the irreducible ones, there are pairs of different irreducible types which have isomorphic Weyl groups; but from all you write, I guess you are only interested in finite groups. But of course they induce distinct "permutation isomorphism classes", to use the nomenclature Thomas' described. Which to me suggests that what Thomas describes really is a better fit for what you want to do. Regarding Nicolas' suggestion: While it is a "natural" choice, it is not necessarily a "canonical" choice. At the very least, you'd have to define how to label the roots "canonically". But OK, that can be done, perhaps you are even doing it already. But now to identify permutation group with your "canonical form", you need to solve a subgroup conjugacy problem, which can be hard. Moreover, it is not clear to me how to, given a permutation group, you'd compute its "canonical form" intrinsically (i.e. other than going through your whole database, then trying to compute a permutation isomorphism with each "canonical form" in the database, which of course is kinda against the whole point in defining a canonical form in the first place.) So I'd be very hesitant to call this a "canonical form", because to me, the name suggests that it should be possible to compute it intrinsically (i.e. w/o referring to a big table of "canonical forms"), and somewhat efficiently (as otherwise, there is little use). Of course that's just my point of view, you can disagree, but then I wonder what the point behind having those "canonical forms" really is? > > Indeed! This leaves the question whether there we can compute a > canonical form for permutation groups up to conjugacy. I just noticed > that this is a mathoverflow question, too: > > https://mathoverflow.net/q/90107/3032 > > Unfortunately, as of today it doesn't have a straight answer, but maybe > things have changed? No. This is still an incredibly tough problem. Cheers, Max From maycon.mgc at gmail.com Mon Dec 11 13:45:55 2017 From: maycon.mgc at gmail.com (maycon carneiro) Date: Mon, 11 Dec 2017 11:45:55 -0200 Subject: [GAP Forum] help with solving equations on finite fields.. Message-ID: Hi all, i'm new in the GAP and i really need help.. my problem is: I creat an AlgebraicExtension over GF(2) using the polynomial x^3+x^2+1, gap>z2:=GF(2); x:=X(z2,"x"); pol:=x^3+x^2+1; F8:=AlgebraicExtension(z2,pol); a:=RootOfDefiningPolynomial(F8); now, i'd like to get the solutions over F8 of the equation: z^2+z*y+a*y^2= c, where c is an especified element of F8, say a^2.. and z, y are variables in F8 how can i do this? or at least in one variable, say z, and i'll put an especified element for y.. can someone help me? Thanks.. Livre de v?rus. www.avast.com . <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> From Nicolas.Thiery at u-psud.fr Tue Dec 19 08:30:51 2017 From: Nicolas.Thiery at u-psud.fr (Nicolas M. Thiery) Date: Tue, 19 Dec 2017 09:30:51 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <87bmiw42jj.fsf@tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> Message-ID: <20171219083051.nd6ydk63kip6qauj@mistral> On Mon, Dec 18, 2017 at 01:57:04PM +0100, Martin Rubey wrote: > I admit I am not completely sure right now: can we associate a conjugacy > class of subgroups of S_n, isomorphic to the Weyl group, in a sensible > way to a finite Cartan type? The permutation action on the roots would be a rather natural choice. This could be extended to affine Weyl groups using affine permutations. Cheers, Nicolas -- Nicolas M. Thi?ry "Isil" http://Nicolas.Thiery.name/ From colva.roney-dougal at st-andrews.ac.uk Tue Dec 19 12:18:49 2017 From: colva.roney-dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Tue, 19 Dec 2017 12:18:49 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <20171218121049.GA4018@localhost.localdomain> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> Message-ID: Dear Martin Can I suggest as a canonical form for a conjugacy class of permutation group G \leq S_n 1. Fix once and for all an ordering on the permutations in S_n - lex ordering when storing the permutations as their image lists would do. 2. Find the minimal number of generators d of G. 3. Store a lex-minimal generating set amongst the different ones of size d? I?m not completely sure this would work, and it would be awkward to compute, but it would give a canonical representative of each conjugacy class of groups? Best wishes Colva > On 18 Dec 2017, at 12:10, Thomas Breuer wrote: > > Dear Martin, > > coming back to an initial question asked by Alexander, > your examples seem to indicate that *isomorphism as abstract groups* > is not the appropriate notion of equivalence. > > When groups arise as symmetries of finite sets such as the vertices > of graphs then it is more natural to consider *permutation isomorphism* > (that is, conjugacy in the symmetric group on the given points). > For example, a group of order two can act on four points > by swapping two pairs or by fixing two points and swapping the other > two points; these two possibilities should probably be distinguished > in such a context. > > With respect to permutation isomorphism, groups are considered as small > when they are permutation groups on a small set, regardless of their > group orders. > GAP's library of transitive groups provides a reasonable source of > small groups in this sense. > > All the best, > Thomas > > > On Sun, Dec 17, 2017 at 08:58:45AM +0100, Martin Rubey wrote: >> Dear Alexander Hulpke, Dear Forum, >> >> many many thanks for your comments! Let me try to clarify - I apologize >> for the lengthy text... >> >>> There is no fundamental obstacle, but you either will end up with just >>> referring to some of the libraries of groups, or end up with an >>> exceeding amount of work by hand to make things come out nicely: >>> >>> - What groups are you planning to classify? Abstract groups or >>> Permutation groups (i.e. group actions)? >> >> the idea is to have finite abstract groups in findstat. >> [...] > > > _______________________________________________ > Forum mailing list > Forum at gap-system.org > https://mail.gap-system.org/mailman/listinfo/forum ************************************* Colva Roney-Dougal Reader in Pure Mathematics Director of the Centre for Interdisciplinary Research in Computational Algebra Editor of Proceedings A of the Royal Society of Edinburgh Editor of Royal Society Open Science Director of Undergraduate Mathematics Admissions The University of St Andrews is a charity registered in Scotland : No SC013532 From max at quendi.de Tue Dec 19 12:52:15 2017 From: max at quendi.de (Max Horn) Date: Tue, 19 Dec 2017 13:52:15 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> Message-ID: Dear Colva, > On 19 Dec 2017, at 13:18, Colva Roney-Dougal wrote: > > Dear Martin > > Can I suggest as a canonical form for a conjugacy class of permutation group G \leq S_n > > 1. Fix once and for all an ordering on the permutations in S_n - lex ordering when storing the permutations as their image lists would do. > 2. Find the minimal number of generators d of G. I.e. in GAP via `MinimalGeneratingSet` but unfortunately GAP only implements this for solvable groups. I am not aware of an effective algorithm that works in general, but that likely just means I am not well-informed :-). Perhaps group recognition can help? (Not that this would be particularly helpful for a GAP user at this stage, considering the unfinished and incomplete state of the "recog" package:/) But let's assume we solve that somehow. > 3. Store a lex-minimal generating set amongst the different ones of size d? But how would one compute that efficiently, even if d and a single minimal generating set is known? I mean, at that point of course one can easily find the lex-minimal conjugate of that particular generating set -- but not all minimal generating sets will be conjugate (e.g. we can generate S_n by a transposition and an n-cycle, or a transposition and an (n-1)-cycle). So we really need all (conjugacy classes of) minimal generating sets of the input group, wouldn't we? Or is there some clever way around this I am missing here? > I?m not completely sure this would work, and it would be awkward to compute, but it would give a canonical representative of each conjugacy class of groups? I think it is indeed likely that one can define "canonical representatives" or "canonical forms" this way, and then for a given d enumerate all canonical forms of subgroups of S_n this way. But I don't see how to perform lookup in there, i.e. how to "efficiently" compute for a given group G its canonical representative. If anybody knows, I'd be thrilled to hear. But wouldn't that be a major breakthrough, as it'd solve the whole subgroup conjugacy problem, wouldn't it? Cheers, Max From colva.roney-dougal at st-andrews.ac.uk Tue Dec 19 13:28:27 2017 From: colva.roney-dougal at st-andrews.ac.uk (Colva Roney-Dougal) Date: Tue, 19 Dec 2017 13:28:27 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> Message-ID: <50A112C0-21CC-4373-854C-3748E7CDA91C@st-andrews.ac.uk> Dear all I have to admit, since the question was about small groups, I wasn?t thinking about efficiency. Some of my suggestion would only need to be done once for each group when building the database (e.g. minimal number of generators and lex-least). For a look-up, I would guess less work needs to be done. First filter by order, then (expensively) find conjugacy classes, and then try to conjugate the group to contain the target generators. This would be repeated element conjugacy in S_n (and in various element centralisers in S_n) so wouldn?t be too bad. I agree that it?s not efficient, but for smallish groups it would work fine Colva >> 1. Fix once and for all an ordering on the permutations in S_n - lex ordering when storing the permutations as their image lists would do. >> 2. Find the minimal number of generators d of G. > > I.e. in GAP via `MinimalGeneratingSet` but unfortunately GAP only implements > this for solvable groups. I am not aware of an effective algorithm that > works in general, but that likely just means I am not well-informed :-). > Perhaps group recognition can help? (Not that this would be particularly > helpful for a GAP user at this stage, considering the unfinished and > incomplete state of the "recog" package:/) > > But let's assume we solve that somehow. > >> 3. Store a lex-minimal generating set amongst the different ones of size d? > > But how would one compute that efficiently, even if d and a single minimal > generating set is known? I mean, at that point of course one can easily find > the lex-minimal conjugate of that particular generating set -- but not all > minimal generating sets will be conjugate (e.g. we can generate S_n by a > transposition and an n-cycle, or a transposition and an (n-1)-cycle). So we > really need all (conjugacy classes of) minimal generating sets of the input > group, wouldn't we? Or is there some clever way around this I am missing > here? > > >> I?m not completely sure this would work, and it would be awkward to compute, but it would give a canonical representative of each conjugacy class of groups? > > I think it is indeed likely that one can define "canonical representatives" > or "canonical forms" this way, and then for a given d enumerate all > canonical forms of subgroups of S_n this way. > > But I don't see how to perform lookup in there, i.e. how to "efficiently" > compute for a given group G its canonical representative. If anybody knows, > I'd be thrilled to hear. But wouldn't that be a major breakthrough, as it'd > solve the whole subgroup conjugacy problem, wouldn't it? > > > Cheers, > Max ************************************* Colva Roney-Dougal Reader in Pure Mathematics Director of the Centre for Interdisciplinary Research in Computational Algebra Editor of Proceedings A of the Royal Society of Edinburgh Editor of Royal Society Open Science Director of Undergraduate Mathematics Admissions The University of St Andrews is a charity registered in Scotland : No SC013532 From willem.degraaf at unitn.it Tue Dec 19 13:42:12 2017 From: willem.degraaf at unitn.it (Willem Adriaan De Graaf) Date: Tue, 19 Dec 2017 14:42:12 +0100 Subject: [GAP Forum] How can I check out Isomorphism Lie Algebras by using gap? In-Reply-To: References: Message-ID: Dear Elham Shabani, In general this is a difficult problem. For two given Lie algebras one can use GAP to find a number of invariants (the centre, derived subalgebra, Levi decomposition,....). If one of these is not equal for your Lie algebras, then you have proved that they are not isomorphic. However, if they are isomorphic, then the only general way of proving that (I know of) is to write down the polynomial equations that come from the isomorphism condition, and then perform Groebner basis calculations. In theory this works fine if the ground field is algebraically closed. For other fields it is more difficult. If you say what your Lie algebras are, then I might be able to provide more help. Best wishes, Willem de Graaf On 19 December 2017 at 09:22, elham shabani wrote: > > _______________________________________________ > Forum mailing list > Forum at gap-system.org > https://mail.gap-system.org/mailman/listinfo/forum > From benjamin.sambale at gmail.com Tue Dec 19 14:07:25 2017 From: benjamin.sambale at gmail.com (Benjamin Sambale) Date: Tue, 19 Dec 2017 15:07:25 +0100 Subject: [GAP Forum] bug in ConjugacyClassesSubgroups? Message-ID: Dear Forum, the following behavior of GAP 4.8.7 seems unexpected: G:=ExtraspecialGroup(32,"-");; A:=AutomorphismGroup(G);; ConjugacyClassesSubgroups(A); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `OneOfPcgs' on 1 arguments I know how to work around, I'm just reporting. Best wishes, Benjamin From martin.rubey at tuwien.ac.at Tue Dec 19 15:43:06 2017 From: martin.rubey at tuwien.ac.at (Rubey Martin) Date: Tue, 19 Dec 2017 15:43:06 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at>, Message-ID: Dear Max, >>> The permutation action on the roots would be a rather natural choice. > Regarding Nicolas' suggestion: While it is a "natural" choice, it is not > necessarily a "canonical" choice. At the very least, you'd have to define > how to label the roots "canonically". let me ask: are you saying that that there are both "bad" but also "canonical labellings" of the roots? (let's consider only finite type) Or put differently: do you have an example at hand where different labellings of the roots yield non-conjugate permutation groups? Martin From Alexander.Hulpke at colostate.edu Tue Dec 19 17:05:27 2017 From: Alexander.Hulpke at colostate.edu (Hulpke,Alexander) Date: Tue, 19 Dec 2017 17:05:27 +0000 Subject: [GAP Forum] help with solving equations on finite fields.. In-Reply-To: References: Message-ID: Dear Forum, Dear Maycon Carneiro, > I creat an AlgebraicExtension over GF(2) using the polynomial x^3+x^2+1, > > gap>z2:=GF(2); > x:=X(z2,"x"); > pol:=x^3+x^2+1; > F8:=AlgebraicExtension(z2,pol); > a:=RootOfDefiningPolynomial(F8); > > now, i'd like to get the solutions over F8 of the equation: > > z^2+z*y+a*y^2= c, where c is an especified element of F8, say a^2.. and z, > y are variables in F8 > > how can i do this? or at least in one variable, say z, and i'll put an > especified element for y.. There is no general polynomial equations solver. in GAP. Basically you?ll need to do the same as in the answer I already gave you in https://math.stackexchange.com/questions/2563103/how-to-solve-a-quadratic-equation-over-finite-fields-with-gap Note that by using `Algebraic Extension? your calculation will be a magnitude slower than if you use the built-in GF(8). I?ve also shown you in https://math.stackexchange.com/questions/2565387/how-to-work-in-gap-with-finite-fields-given-by-a-particular-polynomial how you can represent elements of (in this case) GF(8) in terms of roots of your original polynomial. Regards, Alexander Hulpke -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hulpke at colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke From alexander.konovalov at st-andrews.ac.uk Tue Dec 19 17:26:41 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Tue, 19 Dec 2017 17:26:41 +0000 Subject: [GAP Forum] GAP 4.8.9 release announcement Message-ID: <6046509D-2B84-4FF3-A9C0-4CF11159DAEA@st-andrews.ac.uk> Dear GAP Forum, This is to announce the release of GAP 4.8.9, which can be downloaded from http://www.gap-system.org/Releases/ The core part of the GAP system in this release is identical to the one from the GAP 4.8.8 release; however, this release contains updated versions of 56 packages from GAP 4.8.8 distribution: ---------------------------------------------------- Package name | Latest | Date ---------------------------------------------------- 4ti2Interface | 2017.10.04 | 04/10/2017 Alnuth | 3.1.0 | 01/12/2017 ANUPQ | 3.2 | 29/11/2017 AutoDoc | 2017.09.08 | 08/09/2017 CAP | 2017.09.25 | 25/09/2017 Circle | 1.6.1 | 25/09/2017 Congruence | 1.2.1 | 26/09/2017 Digraphs | 0.11.0 | 22/11/2017 ExamplesForHomalg | 2017.09.02 | 02/09/2017 FactInt | 1.6.0 | 04/12/2017 FinInG | 1.4 | 23/11/2017 Forms | 1.2.4 | 26/08/2017 FPLSA | 1.2.1 | 04/12/2017 FR | 2.4.3 | 03/11/2017 GAPDoc | 1.6.1 | 28/11/2017 Gauss | 2017.12.07 | 07/12/2017 GaussForHomalg | 2017.09.10 | 10/09/2017 GeneralizedMorphismsForCAP | 2017.09.09 | 09/09/2017 genss | 1.6.5 | 21/11/2017 GradedModules | 2017.09.10 | 10/09/2017 GradedRingForHomalg | 2017.09.02 | 02/09/2017 groupoids | 1.54 | 29/11/2017 HeLP | 3.3 | 11/12/2017 homalg | 2017.10.26 | 26/10/2017 HomalgToCAS | 2017.11.26 | 26/11/2017 idrel | 2.38 | 15/12/2017 IntPic | 0.2.3 | 14/09/2017 IO | 4.5.0 | 20/11/2017 IO_ForHomalg | 2017.09.02 | 02/09/2017 json | 1.2.0 | 10/10/2017 LAGUNA | 3.8.0 | 24/09/2017 LinearAlgebraForCAP | 2017.09.09 | 09/09/2017 LocalizeRingForHomalg | 2017.09.02 | 02/09/2017 lpres | 0.4.2 | 08/12/2017 MatricesForHomalg | 2017.11.03 | 03/11/2017 ModulePresentationsForCAP | 2017.09.09 | 09/09/2017 Modules | 2017.09.10 | 10/09/2017 Nilmat | 1.3 | 12/09/2017 NormalizInterface | 1.0.2 | 03/12/2017 NumericalSgps | 1.1.5 | 25/09/2017 orb | 4.8.0 | 10/11/2017 PatternClass | 2.4.1 | 28/09/2017 Polenta | 1.3.8 | 29/11/2017 QPA | 1.27 | 16/12/2017 RCWA | 4.6.0 | 05/12/2017 ResClasses | 4.7.0 | 05/12/2017 RingsForHomalg | 2017.11.03 | 03/11/2017 SCO | 2017.09.10 | 10/09/2017 SCSCP | 2.2.3 | 24/09/2017 SgpViz | 0.999.1 | 13/09/2017 simpcomp | 2.1.7 | 29/09/2017 ToolsForHomalg | 2017.11.05 | 05/11/2017 UnitLib | 3.3.0 | 24/09/2017 utils | 0.49 | 05/12/2017 Wedderga | 4.9.1 | 11/12/2017 XMod | 2.64 | 30/11/2017 ---------------------------------------------------- We encourage all users to upgrade to GAP 4.8.9. Just in case, a common pitfall during GAP installation on Linux and macOS is to compile only the GAP kernel, but not the packages. This procedure had changed less than a year ago (in GAP 4.8.4), so let me remind you that after running ./configure make in the GAP root directory you need to change to the 'pkg' subdirectory and call ../bin/BuildPackages.sh to run the script which will build most of the packages that require compilation (provided sufficiently many libraries, headers and tools are available). If you need any help or would like to report any problems, please do not hesitate to contact us at support at gap-system.org, or submit new issues on GitHub: https://github.com/gap-system/gap/issues There is also a 'gap' tag for questions about GAP at the Mathematics Q&A site: http://math.stackexchange.com/tags/gap/info In addition, you may find some GAP related news on Twitter: http://twitter.com/gap_system Wishing you fun and success using GAP, Alexander Konovalov on behalf of the GAP Group From max at quendi.de Tue Dec 19 17:51:13 2017 From: max at quendi.de (Max Horn) Date: Tue, 19 Dec 2017 18:51:13 +0100 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> Message-ID: Dear Martin, > On 19 Dec 2017, at 16:43, Rubey Martin wrote: > > Dear Max, > >>>> The permutation action on the roots would be a rather natural choice. > >> Regarding Nicolas' suggestion: While it is a "natural" choice, it is not >> necessarily a "canonical" choice. At the very least, you'd have to define >> how to label the roots "canonically". > > let me ask: are you saying that that there are both "bad" but also > "canonical labellings" of the roots? (let's consider only finite type) > > Or put differently: do you have an example at hand where different labellings > of the roots yield non-conjugate permutation groups? No, that's not what I meant. Of course any labeling with numbers 1..n can be transformed into any other by a permutation, hence the resulting permutation groups are conjugate in Sym(n). Thus any choice of such a labeling determines a conjugacy class -- but *only* that. It does not determine a representative of such a class. The question then is: How useful is that? Since you are talking about a database and finding things in it, I assumed you wanted a "canonical form" which is a string, or perhaps a tuple of integers and strings, or something "simple" like that. A conjugacy class of subgroups isn't that, though. Cheers, Max From martin.rubey at tuwien.ac.at Tue Dec 19 18:30:05 2017 From: martin.rubey at tuwien.ac.at (Rubey Martin) Date: Tue, 19 Dec 2017 18:30:05 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> , Message-ID: <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> >>>>> The permutation action on the roots would be a rather natural choice. >> >>> Regarding Nicolas' suggestion: While it is a "natural" choice, it is not >>> necessarily a "canonical" choice. At the very least, you'd have to define >>> how to label the roots "canonically". >> >> let me ask: are you saying that that there are both "bad" but also >> "canonical labellings" of the roots? (let's consider only finite type) >> >> Or put differently: do you have an example at hand where different labellings >> of the roots yield non-conjugate permutation groups? > No, that's not what I meant. Of course any labeling with numbers 1..n can be > transformed into any other by a permutation, hence the resulting permutation > groups are conjugate in Sym(n). > Thus any choice of such a labeling determines a conjugacy class -- but > *only* that. It does not determine a representative of such a class. This is *very* reassuring - I was hoping for that and a bit puzzled by what just turned out to be a misunderstanding on my part. > The question then is: How useful is that? Since you are talking about a > database and finding things in it, I assumed you wanted a "canonical form" > which is a string, or perhaps a tuple of integers and strings, or something > "simple" like that. A conjugacy class of subgroups isn't that, though. There are two questions: * should findstat have a collection "finite groups" (up to isomorphism), and if so, is it possible? * should findstat have a collection "permutation groups" (up to conjugacy), and if so, is it possible? To answer the "should" part, I need to consider whether there are "natural, interesting" maps between other collections (that should be) in the database (currently or in future) and the collection I am proposing right now, "finite groups" (or "permutation groups"). As it turns out that the maps I had in mind so far actually all make sense for permutation groups (up to conjugacy), in particular the automorphism group of a graph and the map from a finite Cartan type to its Weyl group. This is the good news. (In the sense that it opens up a new possibility!) The bad news is that there is apparently no canonical form for permutation groups up to conjugacy. Indeed, the best thing would be what you called an "intrinsic" canonical form: a function f: permutation groups up to conjugacy -> strings such that * f(G) can be computed in sensible time * f(G) = f(H) if and only if G and H are conjugate It would be even better, if * f has an inverse, that is, I can reconstruct G from f(G) in reasonable time * f(G) is human readable In principle it should be possible to get by even without a canonical form, replacing it with a check for equality (in the case at hand: conjugacy), but that would be an awful lot of work, both technically and socially - not everybody in the findstat team is a big fan of having groups as a collection. To make "sensible time" a little more concrete, it would be completely OK to compute the canonical form of the smallest 1000 groups in about a minute. For graphs it takes 15 seconds on my laptop. Thank you for your interest! Martin From martin.rubey at tuwien.ac.at Tue Dec 19 19:03:02 2017 From: martin.rubey at tuwien.ac.at (Rubey Martin) Date: Tue, 19 Dec 2017 19:03:02 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> , , <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> Message-ID: <155b0bb1ecf2406bb89d97e1bbe80bf1@mbx13b.intern.tuwien.ac.at> > The bad news is that there is apparently no canonical form for permutation > groups up to conjugacy. > Indeed, the best thing would be what you called an "intrinsic" canonical form: > a function f: permutation groups up to conjugacy -> strings such that > * f(G) can be computed in sensible time > * f(G) = f(H) if and only if G and H are conjugate > It would be even better, if > * f has an inverse, that is, I can reconstruct G from f(G) in reasonable time > * f(G) is human readable In fact, from a combinatorial point of view the most natural thing would be to have a canonical form for "conjugacy classes of connected permutation groups" Initially there are not all that many - until the numbers explode: https://oeis.org/A005226 Martin From caj21 at st-andrews.ac.uk Tue Dec 19 19:22:58 2017 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 19 Dec 2017 19:22:58 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> Message-ID: > On Dec 19, 2017, at 6:30 PM, Rubey Martin wrote: > > The bad news is that there is apparently no canonical form for permutation > groups up to conjugacy. > > Indeed, the best thing would be what you called an "intrinsic" canonical form: > a function f: permutation groups up to conjugacy -> strings such that > > * f(G) can be computed in sensible time > * f(G) = f(H) if and only if G and H are conjugate > > It would be even better, if > > * f has an inverse, that is, I can reconstruct G from f(G) in reasonable time > * f(G) is human readable > > In principle it should be possible to get by even without a canonical form, > replacing it with a check for equality (in the case at hand: conjugacy), but > that would be an awful lot of work, both technically and socially - not > everybody in the findstat team is a big fan of having groups as a collection. > > To make "sensible time" a little more concrete, it would be completely OK > to compute the canonical form of the smallest 1000 groups in about a minute. > For graphs it takes 15 seconds on my laptop. > Looking at the comparison with graphs is interesting. In the same way that nasty can calculate both graph automorphism and graph canonical image, I am working on extending Partition Backtrack to solve both the conjugacy problem and the canonical image problem for groups, expect a release next year. However, having a ?sensible string? is probably impossible. Nauty doesn?t produce a ?sensible string? to describe the automorphism of graphs. Also, in general Nauty can sometimes find the canonical image and automorphism group G of large graphs thousands of times faster than GAP can find the size of the group G, given the generators from Nauty! Similarly, it is hard to find graphs with less than a thousand vertices where Nauty takes a measurable amount of time, but easy to find pairs of groups G and H on even 25 points which GAP takes a long time to intersect (not the same as canonical image, but probably easier). In short, I think your problem is solvable using a clever backtrack search, but you are never going to get a nice string, and don?t use Nauty as a guide for the performance you can expect! Chris From martin.rubey at tuwien.ac.at Tue Dec 19 19:44:38 2017 From: martin.rubey at tuwien.ac.at (Rubey Martin) Date: Tue, 19 Dec 2017 19:44:38 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at>, Message-ID: <0523f97229a449cd9d634679182cbdf1@mbx13b.intern.tuwien.ac.at> > In the same way that nasty can calculate both graph automorphism and graph canonical image, I am working on extending Partition Backtrack to solve both the conjugacy problem and the canonical image problem for groups, expect a release next year. This sounds like wonderful news! > However, having a ?sensible string? is probably impossible. Nauty doesn?t produce a ?sensible string? to describe the automorphism of graphs. I should have been clearer: a short list of generators for the representative of the conjugacy class would be just fine. I am guessing that that's not impossible, right? Martin From caj21 at st-andrews.ac.uk Tue Dec 19 20:25:13 2017 From: caj21 at st-andrews.ac.uk (Christopher Jefferson) Date: Tue, 19 Dec 2017 20:25:13 +0000 Subject: [GAP Forum] Canonical form for some small groups and efficient characterisation of the generalized symmetric groups In-Reply-To: <0523f97229a449cd9d634679182cbdf1@mbx13b.intern.tuwien.ac.at> References: <3195847e8a534da1bf7ce76f9ba3950d@mbx13b.intern.tuwien.ac.at> <7488B95C-FB0B-45E6-AFAF-F60E65000B0E@colostate.edu> <87y3m1kcp6.fsf@tuwien.ac.at> <20171218121049.GA4018@localhost.localdomain> <87bmiw42jj.fsf@tuwien.ac.at> <20171219083051.nd6ydk63kip6qauj@mistral> <87shc785mx.fsf@tuwien.ac.at> <9c1257c0073d405da5bbeb5320fd1924@mbx13b.intern.tuwien.ac.at> <0523f97229a449cd9d634679182cbdf1@mbx13b.intern.tuwien.ac.at> Message-ID: > On Dec 19, 2017, at 7:44 PM, Rubey Martin wrote: > >> In the same way that nasty can calculate both graph automorphism and graph canonical image, I am working on extending Partition Backtrack to solve both the conjugacy problem and the canonical image problem for groups, expect a release next year. > > This sounds like wonderful news! > >> However, having a ?sensible string? is probably impossible. Nauty doesn?t produce a ?sensible string? to describe the automorphism of graphs. > > I should have been clearer: a short list of generators for the representative of the conjugacy class would be just fine. I am guessing that that's not impossible, right? Producing some small list is easy, GAP does it all the time. I don?t know about producing a small repeatable list (that is, a function which always produce the same list regardless of the generators you start with). I suspect coming up with something involving stabilizer chains is possible. Chris From alexander.konovalov at st-andrews.ac.uk Thu Dec 21 15:31:33 2017 From: alexander.konovalov at st-andrews.ac.uk (Alexander Konovalov) Date: Thu, 21 Dec 2017 15:31:33 +0000 Subject: [GAP Forum] Semigroups package in GAP 4.8.9 In-Reply-To: <6046509D-2B84-4FF3-A9C0-4CF11159DAEA@st-andrews.ac.uk> References: <6046509D-2B84-4FF3-A9C0-4CF11159DAEA@st-andrews.ac.uk> Message-ID: <60A188F3-0821-4C31-BB70-0FC53A5455DE@st-andrews.ac.uk> Dear GAP Forum, It happened that the GAP 4.8.9 release contains the version of the Semigroups package which requires the coming soon GAP 4.9 release and it not usable in GAP 4.8. Apologies for this error. If you need to use the Semigroups package in GAP 4.8 and have already installed GAP 4.8.9, you need to remove the directory `gap4r8/pkg/semigroups-3.0.7/` from the GAP 4.8.9 installation, download Semigroups 2.8.0 from https://github.com/gap-packages/Semigroups/releases/tag/v2.8.0 and unpack it in the `pkg` directory of the GAP 4.8.9 installation (so that it will be placed in the `gap4r8/pkg/semigroups-2.8.0/` directory). We plan to release GAP 4.8.10 by the middle of January 2018, to include several new package releases and a compatible version of Semigroups. Best wishes Alexander > On 19 Dec 2017, at 17:26, Alexander Konovalov wrote: > > Dear GAP Forum, > > This is to announce the release of GAP 4.8.9, which can be downloaded from > > http://www.gap-system.org/Releases/ > > The core part of the GAP system in this release is identical to the > one from the GAP 4.8.8 release; however, this release contains > updated versions of 56 packages from GAP 4.8.8 distribution: > > ---------------------------------------------------- > Package name | Latest | Date > ---------------------------------------------------- > 4ti2Interface | 2017.10.04 | 04/10/2017 > Alnuth | 3.1.0 | 01/12/2017 > ANUPQ | 3.2 | 29/11/2017 > AutoDoc | 2017.09.08 | 08/09/2017 > CAP | 2017.09.25 | 25/09/2017 > Circle | 1.6.1 | 25/09/2017 > Congruence | 1.2.1 | 26/09/2017 > Digraphs | 0.11.0 | 22/11/2017 > ExamplesForHomalg | 2017.09.02 | 02/09/2017 > FactInt | 1.6.0 | 04/12/2017 > FinInG | 1.4 | 23/11/2017 > Forms | 1.2.4 | 26/08/2017 > FPLSA | 1.2.1 | 04/12/2017 > FR | 2.4.3 | 03/11/2017 > GAPDoc | 1.6.1 | 28/11/2017 > Gauss | 2017.12.07 | 07/12/2017 > GaussForHomalg | 2017.09.10 | 10/09/2017 > GeneralizedMorphismsForCAP | 2017.09.09 | 09/09/2017 > genss | 1.6.5 | 21/11/2017 > GradedModules | 2017.09.10 | 10/09/2017 > GradedRingForHomalg | 2017.09.02 | 02/09/2017 > groupoids | 1.54 | 29/11/2017 > HeLP | 3.3 | 11/12/2017 > homalg | 2017.10.26 | 26/10/2017 > HomalgToCAS | 2017.11.26 | 26/11/2017 > idrel | 2.38 | 15/12/2017 > IntPic | 0.2.3 | 14/09/2017 > IO | 4.5.0 | 20/11/2017 > IO_ForHomalg | 2017.09.02 | 02/09/2017 > json | 1.2.0 | 10/10/2017 > LAGUNA | 3.8.0 | 24/09/2017 > LinearAlgebraForCAP | 2017.09.09 | 09/09/2017 > LocalizeRingForHomalg | 2017.09.02 | 02/09/2017 > lpres | 0.4.2 | 08/12/2017 > MatricesForHomalg | 2017.11.03 | 03/11/2017 > ModulePresentationsForCAP | 2017.09.09 | 09/09/2017 > Modules | 2017.09.10 | 10/09/2017 > Nilmat | 1.3 | 12/09/2017 > NormalizInterface | 1.0.2 | 03/12/2017 > NumericalSgps | 1.1.5 | 25/09/2017 > orb | 4.8.0 | 10/11/2017 > PatternClass | 2.4.1 | 28/09/2017 > Polenta | 1.3.8 | 29/11/2017 > QPA | 1.27 | 16/12/2017 > RCWA | 4.6.0 | 05/12/2017 > ResClasses | 4.7.0 | 05/12/2017 > RingsForHomalg | 2017.11.03 | 03/11/2017 > SCO | 2017.09.10 | 10/09/2017 > SCSCP | 2.2.3 | 24/09/2017 > SgpViz | 0.999.1 | 13/09/2017 > simpcomp | 2.1.7 | 29/09/2017 > ToolsForHomalg | 2017.11.05 | 05/11/2017 > UnitLib | 3.3.0 | 24/09/2017 > utils | 0.49 | 05/12/2017 > Wedderga | 4.9.1 | 11/12/2017 > XMod | 2.64 | 30/11/2017 > ---------------------------------------------------- > > We encourage all users to upgrade to GAP 4.8.9. > > Just in case, a common pitfall during GAP installation on > Linux and macOS is to compile only the GAP kernel, but not > the packages. This procedure had changed less than a year > ago (in GAP 4.8.4), so let me remind you that after running > > ./configure > make > > in the GAP root directory you need to change to the 'pkg' > subdirectory and call > > ../bin/BuildPackages.sh > > to run the script which will build most of the packages that > require compilation (provided sufficiently many libraries, > headers and tools are available). > > If you need any help or would like to report any problems, > please do not hesitate to contact us at support at gap-system.org, > or submit new issues on GitHub: > > https://github.com/gap-system/gap/issues > > There is also a 'gap' tag for questions about GAP at the > Mathematics Q&A site: > > http://math.stackexchange.com/tags/gap/info > > In addition, you may find some GAP related news on Twitter: > > http://twitter.com/gap_system > > > Wishing you fun and success using GAP, > > Alexander Konovalov > on behalf of the GAP Group > > _______________________________________________ > Forum mailing list > Forum at gap-system.org > https://mail.gap-system.org/mailman/listinfo/forum -- Dr. Alexander Konovalov, Senior Research Fellow Centre for Interdisciplinary Research in Computational Algebra (CIRCA) School of Computer Science, University of St Andrews Software Sustainability Institute Fellow https://alexk.host.cs.st-andrews.ac.uk -- The University of St Andrews is a charity registered in Scotland:No.SC013532 From surinder.kaur at iitrpr.ac.in Fri Dec 29 20:37:40 2017 From: surinder.kaur at iitrpr.ac.in (Surinder Kaur) Date: Sat, 30 Dec 2017 02:07:40 +0530 Subject: [GAP Forum] Information about p-modular group algebra FG in GAP In-Reply-To: References: <904FC7CC-F7B3-460A-8B26-837B7457D445@st-andrews.ac.uk> Message-ID: Dear Forum, If FG is the group algebra of the Dihedral group G of order 6 over the finite field with 9(=3^2) elements, then how can we can the normalized unit group of FG be obtained. When I take the field with 3 elements, then I am able to get the elements, but if I take the field with 9 elements then what should be the approach. Any suggestions will be highly appreciated. g:=DihedralGroup(6);; f:=GF(3);; fg:=GroupRing(f,g);; e:=Identity(fg);; m:=MinimalGeneratingSet(g);; l:=List(m,x-> x^Embedding(g,fg));; u:=Units(fg);; s:=Filtered(u, x-> Augmentation(x) = (Z(3)^(0)) );; v:=AsGroup(s);; Print(v); This was the approach I used for group algebra of smaller order, but it didn't work anymore when I increased the size of field. On Sat, Dec 9, 2017 at 4:50 PM, Surinder Kaur wrote: > Dear Alexander, Dear forum > > Thank you very much. > > On Thu, Dec 7, 2017 at 7:11 PM, Alexander Konovalov < > alexander.konovalov at st-andrews.ac.uk> wrote: > >> >> > On 7 Dec 2017, at 13:19, Surinder Kaur >> wrote: >> > >> > Dear Forum, Dear Alexander Konovalov, >> > >> > I wanted to calculate the size of the centralizer of an element of >> V(FG) in FG, when F is a finite field with 3 elements and G is a >> non-abelain group of order 3^3. I am unable to do this even with the help >> of LAGUNA package. It is showing that it is "beyond its memory limit." >> >> It's not surprising - you will either run out of memory or run out of time >> if you will try a straightforward approach. >> >> However, you can do efficient calculations of normalisers in the unit >> group >> given as a pc group: >> >> gap> g:=SmallGroup(3^3,3);; >> gap> f:=GF(3);; >> gap> fg:=GroupRing(f,g);; >> gap> v:=PcNormalizedUnitGroup(fg); >> >> gap> s:=Random(v); >> f2^2*f5*f6*f8*f10*f11*f13*f14*f17*f20^2*f24*f25^2 >> gap> Centraliser(v,s); >> >> >> and then you only have to deduce how its centraliser in FG looks like. >> >> Hope this helps, >> Alexander >> >> >> > On Mon, Dec 4, 2017 at 3:34 PM, Alexander Konovalov < >> alexander.konovalov at st-andrews.ac.uk> wrote: >> > Dear Surinder, >> > >> > You have 3^27 elements in fg, and 3^26 of them of augmentation one, so >> the calculation >> > which you're trying to perform is not feasible. You need to use the >> LAGUNA package >> > to be able work with normalised unit group of fg in a very efficient pc >> presentation >> > and then interpret the result in terms of fg. See, for example, a >> sample calculation >> > at https://gap-packages.github.io/laguna/doc/chap2.html >> > >> > For example, in your setup, you can find the minimal generating set of >> the >> > normalised unit group as follows: >> > >> > gap> g:=SmallGroup(3^3,3);; >> > gap> f:=GF(3);; >> > gap> fg:=GroupRing(f,g);; >> > gap> u:=NormalizedUnitGroup(fg); >> > >> > gap> v:=PcNormalizedUnitGroup(fg); >> > >> > gap> MinimalGeneratingSet(v); >> > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] >> > gap> gens:=MinimalGeneratingSet(v); >> > [ f1, f2, f3, f4, f6, f7, f9, f12, f21, f26 ] >> > gap> phi:=NaturalBijectionToNormalizedUnitGroup(fg);; >> > gap> List(gens,x -> x^phi); >> > [ (Z(3)^0)*f1, (Z(3)^0)*f2, (Z(3))* of >> ...+(Z(3)^0)*f2+(Z(3)^0)*f2^ >> > 2, (Z(3))* of ...+(Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f1*f2, >> > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f1^2, >> > (Z(3)^0)*f1+(Z(3))*f2+(Z(3)^0)*f1*f2+(Z(3))*f2^2+(Z(3)^0)*f1*f2^2, >> > (Z(3))*f1+(Z(3)^0)*f2+(Z(3))*f1^2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1^2*f2, >> > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z(3)^0)*f1^2+(Z(3)^ >> > 0)*f1*f2+(Z(3)^0)*f2^2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1*f2^2+(Z >> (3)^0)*f1^ >> > 2*f2^2, (Z(3))*f1+(Z(3))*f2+(Z(3)^0)*f >> 3+(Z(3))*f1^2+(Z(3))*f1*f2+(Z(3)^ >> > 0)*f1*f3+(Z(3))*f2^2+(Z(3)^0)*f2*f3+(Z(3))*f1^2*f2+(Z(3)^0) >> *f1^2*f3+( >> > Z(3))*f1*f2^2+(Z(3)^0)*f1*f2*f3+(Z(3)^0)*f2^2*f3+(Z(3))*f1^ >> 2*f2^2+(Z(3)^ >> > 0)*f1^2*f2*f3+(Z(3)^0)*f1*f2^2*f3+(Z(3)^0)*f1^2*f2^2*f3, >> > (Z(3))* of ...+(Z(3)^0)*f1+(Z(3)^0)*f2+(Z >> (3)^0)*f3+(Z(3)^0)*f1^ >> > 2+(Z(3)^0)*f1*f2+(Z(3)^0)*f1*f3+(Z(3)^0)*f2^2+(Z(3)^0)*f2*f >> 3+(Z(3)^0)*f3^ >> > 2+(Z(3)^0)*f1^2*f2+(Z(3)^0)*f1^2*f3+(Z(3)^0)*f1*f2^2+(Z(3)^ >> 0)*f1*f2*f3+( >> > Z(3)^0)*f1*f3^2+(Z(3)^0)*f2^2*f3+(Z(3)^0)*f2*f3^2+(Z(3)^0) >> *f1^2*f2^2+( >> > Z(3)^0)*f1^2*f2*f3+(Z(3)^0)*f1^2*f3^2+(Z(3)^0)*f1*f2^2*f3+(Z(3)^ >> > 0)*f1*f2*f3^2+(Z(3)^0)*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3+(Z(3)^0)*f1^ >> > 2*f2*f3^2+(Z(3)^0)*f1*f2^2*f3^2+(Z(3)^0)*f1^2*f2^2*f3^2 ] >> > >> > Please do not hesitate ask me if you will have further questions. >> > >> > Best regards, >> > Alexander >> > >> > >> > > On 4 Dec 2017, at 05:47, Surinder Kaur >> wrote: >> > > >> > > Dear Forum >> > > >> > > I wanted to get some information in GAP about the elements of >> augmentation >> > > 1 in the group algebra FG, where F is a Galois field with 3 elements >> and G >> > > is non-abelian of order 3^3. >> > > >> > > I am trying this way: >> > > >> > > g:=SmallGroup(3^3,3);; >> > > f:=GF(3);; >> > > fg:=GroupRing(f,g);; >> > > e:=Identity(fg);; >> > > m:=MinimalGeneratingSet(g);; >> > > v:=Filtered(fg,x->Augmentation(x) = Z(3)^0);; >> > > Print (v[1], "\n"); >> > > >> > > >> > > But I am getting that "it has reached pre-set memory limit". >> > > >> > > How can I get the elements of v. Any suggestion will be highly >> appreciated. >> > > >> > > -- >> > > >> > > *Regards**Surinder Kaur* >> > > *Research scholar * >> > > *Department of Mathematics * >> > > *IIT Ropar* >> > >> > >> > >> > >> > -- >> > Regards >> > Surinder Kaur >> > Research scholar >> > Department of Mathematics >> > IIT Ropar >> >> -- >> Dr. Alexander Konovalov, Senior Research Fellow >> Centre for Interdisciplinary Research in Computational Algebra (CIRCA) >> School of Computer Science, University of St Andrews >> Software Sustainability Institute Fellow >> https://alexk.host.cs.st-andrews.ac.uk >> -- >> The University of St Andrews is a charity registered in >> Scotland:No.SC013532 >> >> >> > > > -- > *Regards* > *Surinder Kaur* > *Research scholar * > *Department of Mathematics * > *IIT Ropar* > -- *Regards* *Surinder Kaur* *Research scholar * *Department of Mathematics * *IIT Ropar*