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