Skip to content

Conversation

@fingolfin
Copy link
Member

@fingolfin fingolfin commented Jan 26, 2026

We tried this but then decide against it, because we determined that often you conjugate precisely so that you get a nicer description of a group (see also Thomas' comment on PR #6183. But by accident the code implementing it got merged as part of PR #6183. Oops

Like PR #6206, this also fixes #6205 :-).

@fingolfin fingolfin added regression A bug that only occurs in the branch, not in a release topic: library release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Jan 26, 2026
@lgoettgens
Copy link
Member

(see also Thomas' comment on PR #6183

I understand that comment, that the nice mono should not be used when conjugating. On the other hand, #6183 conjugates the mono.

But I am fine with it either way

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.

The change is o.k., perhaps we should add a comment in the code why we do not transfer the known NiceMonomorphism value.

@ThomasBreuer
Copy link
Contributor

Perhaps the formulation

this also fixes #6205 :-).

can be misunderstood.

The code from #6183 that stores a NiceMonomorphism value is mathematically correct, in this sense the currently proposed changes do not fix the bug behind #6205.

However, not storing the NiceMonomorphism has the effect that IsomorphismPermGroupForMatrixGroup cannot use it in a wrong way, hence the problem does not show up in the example from #6205.

@fingolfin
Copy link
Member Author

Perhaps the formulation

this also fixes #6205 :-).

can be misunderstood.

Agreed... but in the most literal reading, I think it is appropriate: that issue is "semigroups tests started to fail", and this is fixed by this PR.

The code from #6183 that stores a NiceMonomorphism value is mathematically correct, in this sense the currently proposed changes do not fix the bug behind #6205.

Yes and no. I think there are at least two different issues behind #6205, and I made two PRs to address them.

This PR fixes the failures reported in #6205 because the code removed here caused a regression in the quality of the nice monomorphism being computed: instead of a perm rep on 8 points we suddenly produced one on 80 points. This regression was in two ways lucky:

  1. it revealed another actual bug (good luck leading to PR Fix two bugs in IsomorphismPermGroupForMatrixGroup #6206) and
  2. because of that, we detected the regression and were able to resolve it (good luck leading to this PR)

However, not storing the NiceMonomorphism has the effect that IsomorphismPermGroupForMatrixGroup cannot use it in a wrong way, hence the problem does not show up in the example from #6205.

Yeah but it shows up in other, harder to measure ways, in that some computations will perform worse, etc.

We tried this but then decide against it, because we determined
that often you conjugate precisely so that you get a nicer
description of a group. But by accident the code implementing it
got merged anyway.
@fingolfin fingolfin force-pushed the mh/dont-conjugate-nice-monos branch from c51fc59 to 45a0f5e Compare January 26, 2026 22:53
@fingolfin fingolfin enabled auto-merge (squash) January 26, 2026 22:53
@fingolfin fingolfin merged commit 81acb0f into master Jan 27, 2026
32 checks passed
@fingolfin fingolfin deleted the mh/dont-conjugate-nice-monos branch January 27, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

regression A bug that only occurs in the branch, not in a release release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Regression: semigroups tests failing

3 participants