gap-packages / ClassicalMaximals

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

Orthogonal C1 NonDegenerate #100

Closed TristanPfersdorff closed 2 years ago

TristanPfersdorff commented 2 years ago

Adds the construction for the stabilizer of the canonical non-degenerate-subspace according to Lemma 4.3 in [HR10] via the function OmegaStabilizerOfNonDegenerateSubspace along with some error handling tests for StandardGeneratorsOfOrthogonalGroup and StandardOrthogonalForm as well as a minor addition to StandardGeneratorsOfOrthogonalGroup, see my comment below for details.

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 #100 (5244aec) into main (bad7060) will increase coverage by 0.30%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #100      +/-   ##
==========================================
+ Coverage   95.24%   95.55%   +0.30%     
==========================================
  Files          14       14              
  Lines        3072     3194     +122     
==========================================
+ Hits         2926     3052     +126     
+ Misses        146      142       -4     
Impacted Files Coverage Δ
gap/ReducibleMatrixGroups.gi 98.48% <100.00%> (+0.44%) :arrow_up:
gap/Utils.gi 93.26% <100.00%> (+0.05%) :arrow_up:
gap/Forms.gi 87.88% <0.00%> (+1.38%) :arrow_up:
TristanPfersdorff commented 2 years ago

I had to add the special case d = 1 to StandardGeneratorsOfOrthogonalGroup, since otherwise a few statements involving d - 2 cause errors. It feels a little hacky but is mathematically justified. The field generatorsOfOmega could also be an empty list in that case (GAP even does this by default, calling GeneratorsOfGroup on a trivial group returns an empty list), but this would cause some issues in OmegaStabilizerOfNonDegenerateSubspace and probably also future construction functions, so my current solution of returning just the identity matrix as a generator seems like a good choice, but this is subject to review. In other news, one of the tests causes a weird Error, !!!, similar (but not necessarily related) to this RECOG-issue.