Skip to content

Fix errors in the character table documentation - #6741

Merged
fingolfin merged 2 commits into
masterfrom
mh-claude/doc-facts-ctbl
Oct 21, 2026
Merged

fingolfin merged 2 commits into
masterfrom
mh-claude/doc-facts-ctbl

Conversation

@fingolfin

Copy link
Copy Markdown
Member

Correct statements in the reference manual that contradict GAP's behaviour or mathematics:

  • IsDxLargeGroup: returns true for orders larger than DXLARGEGROUPORDER.
  • CharacterTableWithStoredGroup stores the new table on G, not tbl.
  • LinearCharacters: the p-modular case is the one for a group and p.
  • CharacterTableIsoclinic: N and Z are subgroups of H, not of H/Z.
  • SortedCharacterTable sets ClassPermutation on the result.
  • NormalSubgroupClassesInfo is stored in the table, and NormalSubgroupClasses reuses NormalSubgroups( G ), not a nonexistent normalSubgroups component.
  • InducedClassFunction: the monomorphism goes from G to H.
  • FrobeniusCharacterValue, SizeOfFieldOfDefinition: zeta is exp(2 pi i/(p^n-1)), not exp(p^n-1).
  • Permutation character: (1_H)^G, not (1_G)^H.
  • PermBounds: the conditions are pi(g) >= 0, not pi(g) > 0.
  • StoreFusion records the identifier of source, not destination.
  • FusionsAllowedByRestrictions: powermaps and subpowermaps belong to tbl and subtbl, not the other way round.
  • ConsiderKernels also returns false if a class has no image left; CheckFixedPoints keeps lists containing a possible fixed point; PossiblePowerMaps criterion 6 is checked for all characters, not kernels.
  • IsMonomialNumber: in condition 3 only q must be odd; condition 5 names q.
  • MinimalNonmonomialGroup returns fail, not false.
  • TestMonomial accepts a character or a group; Alpha counts distinct degrees; character tables in progress may lack even the class number.
  • Congruences, ConsiderKernels, ConsiderSmallerPowerMaps: the argument quick is optional.

The errors were found by an audit of the manual using Claude Code, which also prepared the fixes; each was checked against current GAP.

Assisted-by: Claude Code (Opus 5.5)


Based on PR #6731 which should be merged first, before this PR.

@fingolfin fingolfin added topic: documentation Issues and PRs related to documentation release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Oct 15, 2026
@codecov

codecov Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.68%. Comparing base (eb5c042) to head (5d64d55).
⚠️ Report is 8 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6741      +/-   ##
==========================================
+ Coverage   79.65%   79.68%   +0.02%     
==========================================
  Files         684      684              
  Lines      295456   295462       +6     
  Branches     8686     8654      -32     
==========================================
+ Hits       235351   235433      +82     
+ Misses      58278    58202      -76     
  Partials     1827     1827              

☔ 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.

Base automatically changed from mh-claude/doc-typos-markup to master October 15, 2026 16:43
Correct statements in the reference manual that contradict GAP's
behaviour or mathematics:

- IsDxLargeGroup: returns true for orders larger than DXLARGEGROUPORDER.
- CharacterTableWithStoredGroup stores the new table on G, not tbl.
- LinearCharacters: the p-modular case is the one for a group and p.
- CharacterTableIsoclinic: N and Z are subgroups of H, not of H/Z.
- SortedCharacterTable sets ClassPermutation on the result.
- NormalSubgroupClassesInfo is stored in the table, and
  NormalSubgroupClasses reuses NormalSubgroups( G ), not a
  nonexistent normalSubgroups component.
- InducedClassFunction: the monomorphism goes from G to H.
- FrobeniusCharacterValue, SizeOfFieldOfDefinition: zeta is
  exp(2 pi i/(p^n-1)), not exp(p^n-1).
- Permutation character: (1_H)^G, not (1_G)^H.
- PermBounds: the conditions are pi(g) >= 0, not pi(g) > 0.
- StoreFusion records the identifier of source, not destination.
- FusionsAllowedByRestrictions: powermaps and subpowermaps belong to
  tbl and subtbl, not the other way round.
- ConsiderKernels also returns false if a class has no image left;
  CheckFixedPoints keeps lists containing a possible fixed point;
  PossiblePowerMaps criterion 6 is checked for all characters, not
  kernels.
- IsMonomialNumber: in condition 3 only q must be odd; condition 5
  names q.
- MinimalNonmonomialGroup returns fail, not false.
- TestMonomial accepts a character or a group; Alpha counts distinct
  degrees; character tables in progress may lack even the class
  number.
- Congruences, ConsiderKernels, ConsiderSmallerPowerMaps: the
  argument quick is optional.

The errors were found by an audit of the manual using Claude Code,
which also prepared the fixes; each was checked against current GAP.

Assisted-by: Claude Code (Opus 5.5)
@fingolfin
fingolfin force-pushed the mh-claude/doc-facts-ctbl branch from c277b77 to 943e67b Compare October 15, 2026 19:59
@fingolfin
fingolfin marked this pull request as ready for review October 15, 2026 21:54

@ThomasBreuer ThomasBreuer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks.

Comment thread lib/ctbl.gd Outdated
## The <Ref Attr="ClassPermutation"/> value of <A>tbl</A> is changed if
## necessary, see&nbsp;<Ref Attr="ClassPermutation"/>.
## The <Ref Attr="ClassPermutation"/> value of the result is set,
## see&nbsp;<Ref Attr="ClassPermutation"/>.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This second reference is superfluous.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

fixed, thanks

The sentence already links to ClassPermutation.

Assisted-by: Generative AI
@fingolfin
fingolfin merged commit 9e3dcaa into master Oct 21, 2026
35 of 38 checks passed
@fingolfin
fingolfin deleted the mh-claude/doc-facts-ctbl branch October 21, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: documentation Issues and PRs related to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants