gap-packages / sotgrps

https://gap-packages.github.io/sotgrps/
GNU General Public License v2.0
2 stars 1 forks source link

Discrepancy between groups produced by `AllSOTGroups` and `SOTGroup` #51

Closed fingolfin closed 12 months ago

fingolfin commented 12 months ago

I would expect AllSOTGroups(n) and List([1..NumberOfSOTGroups(n)],i->SOTGroup(n,i)) to produce not just lists where corresponding groups are isomorphic; but in fact have identical presentations.

But this seems not to be the case for at least groups of of order $p^4 q$.

Consider this:

gap> CodePcGroup(SOTGroup(48,32));
61687858337
gap> CodePcGroup(AllSOTGroups(48)[32]);
65382416993

or this:

gap> CodePcGroup(SOTGroup(272,41));
5207512816961978383
gap> CodePcGroup(AllSOTGroups(272)[41]);
5229198979772710927

Is this known? Is it intentional? It is not strictly speaking wrong, of course, but very unexpected, and I would at least warn about it in the manual. Nicer would of course be to change this, if possible with reasonable effort.

fingolfin commented 12 months ago

Doesn't seem to be limited to $p^4*q$, here is a $pqrs$ example:

gap> n:=2*3*7*43;
1806
gap> CodePcGroup(SOTGroup(n,29));
207974057626033607
gap> CodePcGroup(AllSOTGroups(n)[29]);
207974469042025055
fingolfin commented 12 months ago

Some other affected orders:

147 = 3*7^2
150 = 2*3*5^2
156 = 2^2*3*13
260 = 2^2*5*13
294 = 2*3*7^2
625 = 5^4
1444 = 2^2*19^2
1815 = 3*5*11^2
1911 = 3*7^2*13
xpan-eileen commented 12 months ago

I am looking into this…

It was probably intentional but now I can’t remember why, so it was probably not for a very good reason. What I am trying to do at the moment is to see what I had in my thesis and try to use the one that agrees with that.

xpan-eileen commented 12 months ago

Weirdly, I couldn’t find any discrepancy for these orders? Did it show up for you which groups were causing the issue?

gap> n:=147;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=150;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=156;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=260;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=294;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=625;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=1444;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=1815;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
gap> n:=1911;;all:=AllSOTGroups(n);;Filtered([1..NumberOfSOTGroups(n)],x->CodePcGroup(SOTGroup(n,x))<>CodePcGroup(all[x]));
[  ]
fingolfin commented 12 months ago

Nevermind, those orders were a fluke: I called CodePcGroup(G) a bit too later, and apparently it depends on the output of Pcgs(G), and apparently this can change (which I did not expect) as a side effect of some other code.

fingolfin commented 12 months ago

Thanks, your latest fix cured 48, but e.g. 1053 still has discrepancies

fingolfin commented 12 months ago

Also 6875, 13203

fingolfin commented 12 months ago

Better. But I still get a discrepancy for 6875. All else seem to work now

fingolfin commented 12 months ago

Seems to be resolved now, great!