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

Make HasSolvableFactorGroup slightly more efficient #1062

Merged
merged 1 commit into from
Jan 11, 2017

Conversation

hungaborhorvath
Copy link
Contributor

Old method checked if any element of DerivedSeries is in N. Now it only checks for the last element.

@codecov-io
Copy link

Current coverage is 50.47% (diff: 100%)

Merging #1062 into master will decrease coverage by <.01%

@@             master      #1062   diff @@
==========================================
  Files           424        424          
  Lines        223048     223050     +2   
  Methods        3429       3429          
  Messages          0          0          
  Branches          0          0          
==========================================
- Hits         112594     112590     -4   
- Misses       110454     110460     +6   
  Partials          0          0          

Powered by Codecov. Last update 1443b97...ec765ef

@fingolfin fingolfin merged commit 7642e6c into gap-system:master Jan 11, 2017
@hulpke
Copy link
Contributor

hulpke commented Jan 11, 2017

Yes, the current method was always just a quick hack.

However, if we're going to improve it, would't it make sense not to take the full derived series, but to iterate:

  • Initialize D=G. Initially test that D>N
  • Test whether the commutators of generators of D are in N. If so report success
  • Otherwise compute D'. If D'=D return failure.
  • If D <> D' then set D=D' and go back to step 2.

This way fewer derived subgroups are calculated, and in the last step the closure test is not needed.

@hungaborhorvath
Copy link
Contributor Author

hungaborhorvath commented Jan 11, 2017

@hulpke I agree, but I did not see a nice way of doing that. As far as I see the DerivedSeries code needs to be duplicated (that has a lot of other nice exiting conditions, not only D=D').

Or maybe should be put into a global function which should be called both here and in DerivedSeries. I am happy to make that patch if that is the appropriate way to do this.

Edit: Never mind, I think I just said something stupid here. I will make a better patch about this.

@hungaborhorvath hungaborhorvath mentioned this pull request Jan 11, 2017
6 tasks
@olexandr-konovalov olexandr-konovalov added the release notes: added PRs introducing changes that have since been mentioned in the release notes label Jan 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release notes: added PRs introducing changes that have since been mentioned in the release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants