Skip to content
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

Merged

Conversation

jackschmidt
Copy link
Contributor

@jackschmidt jackschmidt commented Jun 5, 2021

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

  • proper formatting

If your code contains kernel C code, run clang-format on it; the
simplest way is to use git clang-format, e.g. like this (don't
forget to commit the resulting changes):

git clang-format $(git merge-base HEAD master)
  • usage of relevant labels

    1. either release notes: not needed or release notes: to be added
    2. at least one of the labels bug or enhancement or new feature
    3. for changes meant to be backported to stable-4.X add the backport-to-4.X label
    4. consider adding any of the labels build 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

@fingolfin fingolfin added kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: library labels Jun 6, 2021
Copy link
Member

@fingolfin fingolfin left a 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.

lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
tst/teststandard/ctblmono.tst Outdated Show resolved Hide resolved
tst/teststandard/ctblmono.tst Show resolved Hide resolved
Copy link
Member

@wilfwilson wilfwilson left a 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.

lib/ctblmono.gi Outdated Show resolved Hide resolved
lib/ctblmono.gi Outdated Show resolved Hide resolved
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.
@fingolfin fingolfin force-pushed the js/nonsolvable-isminnonmonomial branch from 0971e5c to 130a8e6 Compare June 7, 2021 19:54
Copy link
Member

@fingolfin fingolfin left a 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 !

@fingolfin fingolfin merged commit 5e6cbbc into gap-system:master Jun 7, 2021
@jackschmidt jackschmidt deleted the js/nonsolvable-isminnonmonomial branch June 7, 2021 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IsMinimalNonmonomial only implemented for solvable groups
3 participants