Skip to content

Fix Embedding and Projection of pc group direct products to not error or return corrupted results - #6790

Open
fingolfin wants to merge 1 commit into
masterfrom
mh-claude/gprdpc-family-pcgs
Open

fingolfin wants to merge 1 commit into
masterfrom
mh-claude/gprdpc-family-pcgs

Conversation

@fingolfin

Copy link
Copy Markdown
Member

For a direct product D of pc groups, Embedding and Projection took the generators of each factor from Pcgs(D), at their positions in the defining presentation. If Pcgs(D) is not the family pcgs, they mapped to the wrong elements, and the embedding was not even a homomorphism: after SetPcgs(dp, SpecialPcgs(FamilyPcgs(dp))) for the direct product of the extraspecial group 2^3+ and C4, Embedding(dp, 2) mapped C4 onto a Klein four group. Before #6002, SpecialPcgs replaced Pcgs(dp) in this way, which is how #6000 arose.

Use FamilyPcgs(D), whose order is that of the presentation. Pc group semidirect products are not affected, as their Pcgs is set to the family pcgs on construction.

Fixes #6000

Assisted-by: Generative AI

For a direct product D of pc groups, `Embedding` and `Projection` took
the generators of each factor from `Pcgs(D)`, at their positions in the
defining presentation. If `Pcgs(D)` is not the family pcgs, they mapped
to the wrong elements, and the embedding was not even a homomorphism:
after `SetPcgs(dp, SpecialPcgs(FamilyPcgs(dp)))` for the direct product
of the extraspecial group 2^3+ and C4, `Embedding(dp, 2)` mapped C4 onto
a Klein four group. Before #6002, `SpecialPcgs` replaced `Pcgs(dp)` in
this way, which is how #6000 arose.

Use `FamilyPcgs(D)`, whose order is that of the presentation. Pc group
semidirect products are not affected, as their `Pcgs` is set to the
family pcgs on construction.

Fixes #6000

Assisted-by: Generative AI
@fingolfin fingolfin added kind: bug Issues describing general bugs, and PRs fixing them kind: bug: wrong result Issues describing bugs that result in mathematically or otherwise wrong results, and PRs fixing them topic: library release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes labels Oct 26, 2026
@codecov

codecov Bot commented Oct 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.72%. Comparing base (a778edf) to head (cdfeddb).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6790      +/-   ##
==========================================
- Coverage   79.72%   79.72%   -0.01%     
==========================================
  Files         684      684              
  Lines      295592   295587       -5     
  Branches     8660     8660              
==========================================
- Hits       235650   235642       -8     
  Misses      58126    58126              
- Partials     1816     1819       +3     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind: bug: wrong result Issues describing bugs that result in mathematically or otherwise wrong results, and PRs fixing them kind: bug Issues describing general bugs, and PRs fixing them 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.

corrupted subgroup in a direct product

1 participant