-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Broken example in GAP master branch #6
Comments
It also works faster in my GAP 4.8.8 installation (the whole test as well). |
For dihedral 2-groups, minimal order to reproduce this is 32: start with
Actually, it happens for a number of groups of order 32, namely groups with numbers
and not for any 2-groups of a smaller order. |
But note:
So it is your |
Indeed, this is the code from Laguna:
If you remove the NC, it will return fail. |
@fingolfin thanks, this helps to localise example. LAGUNA and UnitLib had no recent changes - I will try to look for a change in GAP that triggers this. The theory behind LAGUNA guarantees 1-to-1 correspondence between generators, hence NC-version was used all that time. |
I bisected this. The above examples stopped working with GAP commit gap-system/gap@25cfbbe which was part of gap-system/gap#609 and changed our sorting algorithm to a faster one. But both algorithms are not stable sorts, and this would break code which implicitly relayed on the specific algorithm. The example with a dihedral group of order 32 indeed is fixed for me if I change Laguna to use |
To test the theory, I just replaced all |
Thanks @fingolfin. Just to provide some more context, UnitLib contains a databased of presentations for unit groups, computed with LAGUNA. When it retrieves a unit group from its database, it reconstructs a group algebra of |
@fingolfin wrote
Actually, it was indeed the worst of the mentioned above alternatives. LAGUNA accumulated elements of the weighted bases in I think that switching to StableSortParallel and rebuilding the database will make it more robust. However, one could go even further and enforce the strict ordering on weighted basis elements of the same weight:
I intend to recalculate UnitLib database and provide a new version for GAP 4.9. |
Fixed in #7 |
The following code is based on example from Chapter 4:
In GAP 4.8.8, the last command returns
true
and in the master branch it returnsfalse
. Reproducible in various settings, including-r -A
options.The text was updated successfully, but these errors were encountered: