gap-packages / ClassicalMaximals

Maximal subgroups of classical groups
Other
0 stars 8 forks source link

Symplectic Maximals #89

Closed TristanPfersdorff closed 2 years ago

TristanPfersdorff commented 2 years ago

With this PR, the maximal geometric subgroups of the symplectic groups should be all done.

Checklist for the reviewer

General

Functions constructing generators of maximal subgroups

Functions assembling the list of all maximal subgroups of a certain group

The reviewer doesn't need to compare our results to magma's results. That's the job of the person implementing the code.

codecov[bot] commented 2 years ago

Codecov Report

Merging #89 (56d2048) into main (30aa81a) will increase coverage by 3.04%. The diff coverage is 96.85%.

@@            Coverage Diff             @@
##             main      #89      +/-   ##
==========================================
+ Coverage   93.11%   96.15%   +3.04%     
==========================================
  Files          14       14              
  Lines        2686     2734      +48     
==========================================
+ Hits         2501     2629     +128     
+ Misses        185      105      -80     
Impacted Files Coverage Δ
gap/ClassicalMaximals.gi 96.81% <95.91%> (+13.53%) :arrow_up:
gap/ClassicalMaximals.gd 100.00% <100.00%> (ø)
gap/ImprimitiveMatrixGroups.gi 98.26% <100.00%> (+0.06%) :arrow_up:
gap/ReducibleMatrixGroups.gi 98.07% <100.00%> (+0.05%) :arrow_up:
gap/SemilinearMatrixGroups.gi 95.17% <100.00%> (-0.07%) :arrow_down:
gap/SubfieldMatrixGroups.gi 97.82% <100.00%> (+0.03%) :arrow_up:
gap/TensorProductMatrixGroups.gi 98.09% <100.00%> (-0.02%) :arrow_down:
TristanPfersdorff commented 2 years ago

Alright, changes are implemented. While I was at it, I fixed all instances of silly x := Concatenation(x, ...) syntax that I could conceivably find with a keen eye and Ctrl + f (about 50 of them, wtf were we doing?!) and replaced it by Append(x, ...). I also added the safer checks to disallow stuff like MaximalSubgroupClassRepsSymplecticGroup(n, q, [1,2,4], 5) to some other functions since those checks are done in a few more functions inside ClassicalMaximals.gi.

TristanPfersdorff commented 2 years ago

As @maxhauck pointed out to me, not all of the constructed groups had been conjugated to the standard GAP forms after construction, which would cause issues if GAP ever changed its standard form. I hope to have taken care of that in the last commit, though some of the construction functions do not explicitly set the form before conjugating. Presumably, this is because we do not know the form in those cases. That issue should be largely fixed by #88 though.