Repository navigation
Fix tuple counts for reordered character tables - #20
Conversation
NumberGeneratingTuples took class positions from ConjugacyClasses(G) and passed them to TotalNumberOfTuples, which reads them as positions in CharacterTable(G). The two lists need not agree (GAP reference manual, "The Interface between Character Tables and Groups"): they differ when the class list stored in the group does not start with the identity class, and for non-supersolvable groups once the CCTab package is loaded. The count was then wrong, and GeneratingMCOrbits, which samples until it has accounted for that many tuples, returned too few orbits or did not terminate. Take the classes from the character table, both for the group and for its maximal subgroups. Assisted-by: Claude Code (Opus 5.5)
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #20 +/- ##
==========================================
+ Coverage 56.02% 56.15% +0.13%
==========================================
Files 17 17
Lines 1494 1494
==========================================
+ Hits 837 839 +2
+ Misses 657 655 -2
🚀 New features to boost your workflow:
|
|
Thanks — the diagnosis looks right, and the fix is complete: TotalNumberOfTuples has I went through this with Claude. The four expected values were checked independently One follow-up, if you have a moment. The test establishes that the two class orderings That makes the test self-verifying rather than a snapshot. Two unrelated things that came up in the same reading, which I'll open as issues Checked with Claude. |
NumberGeneratingTuplestook class positions fromConjugacyClasses(G)and passed them to TotalNumberOfTuples, which reads them as positions inCharacterTable(G). The two lists need not agree (GAP reference manual, "The Interface between Character Tables and Groups"): they differ when the class list stored in the group does not start with the identity class, and for non-supersolvable groups once the CCTab package is loaded. The count was then wrong, andGeneratingMCOrbits, which samples until it has accounted for that many tuples, returned too few orbits or did not terminate.Take the classes from the character table, both for the group and for its maximal subgroups.
Assisted-by: Claude Code (Opus 5.5)