-
Notifications
You must be signed in to change notification settings - Fork 160
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
Implement IsMinimalNonmonomial
for nonsolvable groups
#4537
Implement IsMinimalNonmonomial
for nonsolvable groups
#4537
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for this very nice contribution! I left some remarks, and I think one case needs to be added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this, especially the very helpful comments. I spotted just a couple of typos in them.
The previous implementation followed van der Waall in only handling solvable groups. Indeed in the paper, [MR507832](https://mathscinet.ams.org/mathscinet-getitem?mr=507832) van der Waall says the nonsolvable groups can easily be disposed of using Thompson's N-groups papers, however he does not state the result. Luckily most of the minimal simple groups are also minimal non-monomial. The exception is just PSL(3,3) which contains a subgroup isomorphic to the non-monomial group SL(2,3). The groups of the form PSL(2,q) are handled by Dickson's classification of their subgroups, all of which are metabelian or non-solvable. Since the non-solvable subgroups are eliminated by being minimal simple, we have only monomial subgroups. The Suzuki groups require a short argument, given in the source. Suzuki 1960 lists the maximal subgroups, and all but the Sylow 2-normalizer are metabelian. The Sylow 2-normalizer's characters are described in sufficient detail in the paper to ensure they are monomial. I included a commented out "IsMNMNaive" that checks all the conditions. I ran this for 10 or 20 minutes on the small, perfect, and primitive group libraries.
0971e5c
to
130a8e6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've applied the corrections by @wilfwilson and squashed the four commits into one. If the tests pass, let's merge it. Thanks again, @jackschmidt !
Resolves #4452
Description
Text for release notes
Implement
IsMinimalNonmonomial
for nonsolvable groups(End of text for release notes)
Further details
The previous implementation followed van der Waall in only handling
solvable groups. Indeed in the paper,
MR507832
van der Waall says the nonsolvable groups can easily be disposed
of using Thompson's N-groups papers, however he does not state the
result.
Luckily most of the minimal simple groups are also minimal
non-monomial. The exception is just PSL(3,3) which contains a subgroup
isomorphic to the non-monomial group SL(2,3). The groups of the form
PSL(2,q) are handled by Dickson's classification of their subgroups,
all of which are metabelian or non-solvable. Since the non-solvable
subgroups are eliminated by being minimal simple, we have only
monomial subgroups. The Suzuki groups require a short argument,
given in the source. Suzuki 1960 lists the maximal subgroups, and all
but the Sylow 2-normalizer are metabelian. The Sylow 2-normalizer's
characters are described in sufficient detail in the paper to ensure
they are monomial.
Checklist for pull request reviewers
If your code contains kernel C code, run
clang-format
on it; thesimplest way is to use
git clang-format
, e.g. like this (don'tforget to commit the resulting changes):
usage of relevant labels
release notes: not needed
orrelease notes: to be added
bug
orenhancement
ornew feature
stable-4.X
add thebackport-to-4.X
labelbuild system
,documentation
,kernel
,library
,tests
runnable tests
lines changed in commits are sufficiently covered by the tests
adequate pull request title
well formulated text for release notes
relevant documentation updates
sensible comments in the code