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

ENHANCE: Faster MaximalAbelianQuotient for subgroups of fp groups #3630

Merged
merged 2 commits into from
Sep 4, 2019

Conversation

hulpke
Copy link
Contributor

@hulpke hulpke commented Aug 29, 2019

Description

Use abelianized rewriting rather than go though IsomorphismFpGroup.
Also added heuristic relator matrix reduction (not full HNF)
to use before SNF to speed up.

Also use in case that Abelian Rrs (in the kernel) fails.

This also includes a cleanup for #3634

Text for release notes

The performance of AbelianInvariants and MaximalAbelianQuotient for subgroups of fp groups has been improved.

@hulpke hulpke added kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: performance bugs or enhancements related to performance (improvements or regressions) topic: library release notes: to be added PRs introducing changes that should be (but have not yet been) mentioned in the release notes labels Aug 29, 2019
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.

Some random minor / unimportant suggestions (sorry, too tired for a proper review right now)

lib/matint.gi Outdated Show resolved Hide resolved
lib/matint.gi Outdated Show resolved Hide resolved
lib/matint.gi Outdated Show resolved Hide resolved
lib/matint.gi Outdated Show resolved Hide resolved
lib/matint.gi Outdated Show resolved Hide resolved
@coveralls
Copy link

coveralls commented Aug 30, 2019

Coverage Status

Coverage decreased (-0.001%) to 84.406% when pulling 8e59af1 on hulpke:fixes into df36d37 on gap-system:master.

@codecov
Copy link

codecov bot commented Aug 30, 2019

Codecov Report

Merging #3630 into master will decrease coverage by 0.22%.
The diff coverage is 92.17%.

@@            Coverage Diff             @@
##           master    #3630      +/-   ##
==========================================
- Coverage   84.65%   84.42%   -0.23%     
==========================================
  Files         698      698              
  Lines      345626   345611      -15     
==========================================
- Hits       292582   291796     -786     
- Misses      53044    53815     +771
Impacted Files Coverage Δ
lib/matint.gd 100% <100%> (ø) ⬆️
lib/twocohom.gi 97.17% <100%> (ø) ⬆️
lib/matint.gi 85.57% <100%> (+2.04%) ⬆️
lib/sgpres.gi 76.51% <27.27%> (+0.54%) ⬆️
lib/ghomfp.gi 85.65% <91.54%> (-0.47%) ⬇️
src/modules.h 33.33% <0%> (-66.67%) ⬇️
src/vec8bit.h 51.78% <0%> (-42.86%) ⬇️
src/fibhash.h 66.66% <0%> (-33.34%) ⬇️
lib/files.gi 61.56% <0%> (-16.87%) ⬇️
src/scanner.h 50% <0%> (-16.67%) ⬇️
... and 77 more

Use abelianized rewriting rather than go though IsomorphismFpGroup.
Also added heuristic relator matrix reduction (not full HNF)
to use before SNF to speed up.

Also use in case that kernel Abelian Rrs fails.

LargerQuotientBySubgroupAbelianization will not calculate subgroup lattice
to avoid overkill.
@fingolfin fingolfin merged commit f5edc9e into gap-system:master Sep 4, 2019
@dimpase dimpase added release notes: added PRs introducing changes that have since been mentioned in the release notes and removed release notes: to be added PRs introducing changes that should be (but have not yet been) mentioned in the release notes labels Feb 4, 2020
@olexandr-konovalov olexandr-konovalov added this to the GAP 4.11.0 milestone Feb 15, 2020
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: added PRs introducing changes that have since been mentioned in the release notes topic: library topic: performance bugs or enhancements related to performance (improvements or regressions)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants