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

Speed up IrrBaumClausen (used for computing character tables of supersolvable groups, including $p$-groups) #4905

Merged
merged 1 commit into from
Jun 24, 2022

Conversation

frankluebeck
Copy link
Member

For the non-linear characters fewer multiplications of monomial matrices
are needed.
Also improved further details: multiplication of monomial matrices,
avoiding arithmetic with cyclotomics.

Comments:

This should never be slower than the previous version.
On my computer in the following example IrrBaumClausen (used to compute the irreducible characters of the group) becomes about 6 times faster:

gap> s:=SylowSubgroup(Sp(4,25),5);
ps<group of 4x4 matrices of size 390625 over GF(5^2)>
gap> ps:=Image(IsomorphismPcGroup(s));
Group([ f1, f2, f3, f4, f5, f6, f7, f8 ])
gap> ConjugacyClasses(ps);;time;
310
gap> BaumClausenInfo(ps);;time;
41
gap> ir:=IrrBaumClausen(ps);;time;
3608

Text for release notes

Speedup of IrrBaumClausen which is used by GAP to compute the character table of supersolvable (in particular p-) groups.

For the non-linear characters fewer multiplications of monomial matrices
are needed.
Also improved further details: multiplication of monomial matrices,
avoiding arithmetic with cyclotomics.
@ThomasBreuer ThomasBreuer self-requested a review June 24, 2022 08:09
Copy link
Contributor

@ThomasBreuer ThomasBreuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good.

  • Avoiding arithmetic operations with cyclotomics is always a good idea; here this is done by creating the character values with CycList.
  • Using {} instead of a for loop yields a speedup (in spite of the additional intermediate list).
  • Memorizing partial products of the evaluation of a class representative and using the common initial part for the next representative is a good idea. (Since the lengths of the exponent vectors are in general much larger than the number of conjugacy classes, there are enough cases where common initial parts occur.)

@fingolfin fingolfin 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) release notes: to be added PRs introducing changes that should be (but have not yet been) mentioned in the release notes labels Jun 24, 2022
@fingolfin fingolfin merged commit 5061063 into gap-system:master Jun 24, 2022
@fingolfin fingolfin changed the title Speedup IrrBaumClausen Speed up of IrrBaumClausen which is used to compute the character table of supersolvable groups (in particular p-groups) Aug 17, 2022
@fingolfin fingolfin changed the title Speed up of IrrBaumClausen which is used to compute the character table of supersolvable groups (in particular p-groups) Speed up of IrrBaumClausen which is used to compute character tables of supersolvable groups (in particular p-groups) Aug 17, 2022
@fingolfin fingolfin changed the title Speed up of IrrBaumClausen which is used to compute character tables of supersolvable groups (in particular p-groups) Speed up of IrrBaumClausen (used for computing character tables of supersolvable groups, including $p$-groups) Aug 17, 2022
@fingolfin fingolfin added release notes: use title For PRs: the title of this PR is suitable for direct use 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 Aug 17, 2022
@fingolfin fingolfin changed the title Speed up of IrrBaumClausen (used for computing character tables of supersolvable groups, including $p$-groups) Speed up IrrBaumClausen (used for computing character tables of supersolvable groups, including $p$-groups) Aug 17, 2022
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: performance bugs or enhancements related to performance (improvements or regressions)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants