Improvements to automorphisms/isomorphisms of solvable group - #6494
Conversation
When computing the permutation representation of an automorphism group, avoid being dragged into a special case for abelian groups. Use `SubnormalOrbitExtension` to speed up a stabilizer calculation. Call the function directly, before trying to fit it more generally in the method selection.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6494 +/- ##
==========================================
- Coverage 79.03% 70.92% -8.12%
==========================================
Files 685 683 -2
Lines 293802 292998 -804
Branches 8664 8611 -53
==========================================
- Hits 232219 207815 -24404
- Misses 59782 83278 +23496
- Partials 1801 1905 +104 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Concerning the examples from #6478 (and several examples similar to the first one), the changes cause that the computations finish quickly: and |
to compute an orbit along a composition series also in a nonsolvable group.
avoid some membership tests and transfer group orders
For two-generator groups, isomorphism test will use old routine if only few possible images. Automorphism groups of abelian groups will know their order. Be more lenient with degree for Aut(pc)
|
Unfortunately this causes the tests of several packages to fail. A minimal reproducer in pure GAP: I'll see if I can spot the issue quickly, otherwise we should revert it for now and @hulpke needs to reland it once he has a fix |
I just pushed a fix into the same branch, not realizing this was merged. I will do another PR. |
This fixes the error notes in gap-system#6494 post-merge
This fixes the error notes in gap-system#6494 post-merge
These changes resolve memory use and sluggishness issues being brought up in #6478. This is done by reducing over cautious effort in computing a permutation representation, computation of compatible pairs using MeatAxe functionality,
and by using a new stabilizer routine that works along a composition series, mirrorign what the pc algorithm does. It also will try replacing a large orbit buildup with specific element tests to save on memory.
Also added special handling of 2-generator groups, which might refer back to the old routine if there are few images.