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

deal with FpGroups without IsFinite flag #5946

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ThomasBreuer
Copy link
Contributor

The discussion of #5944 came to the conclusion that there is a design decision that operations for f.p. groups should not automatically call IsFinite --the user should explicitly call (or set) IsFinite.

I did not find a statement of such a design decision in the documentation, therefore this pull request proposes adding a paragraph about it to the manual chapter on f.p. groups.

Further, the "no method found error" which one gets is not appropriate; note that the error disappears if the group knows that it is finite, which is confusing for users.
Therefore this pull request proposes a method that gives a better error message in case of the operation ConjugacyClasses.

There are other operations for which the same treatment would be appropriate, otherwise the term "design decision" would not make sense. (IsDihedralGroup is one example.)
Similar methods should get installed for them, ideally in a generic way.

Unfortunately, it is not that easy to determine the operations for which the design decision really holds, and for which methods showing a nicer error message should get installed:
In fact, many operations have methods that just take a group without IsFinite flag, and call IsFinite at some point.
And if the operation is declared for finite groups then there are already fallback methods that check IsFinite.

It would be good if the operatons for which the design decision holds could be determined automatically, for example in order to give the Oscar system enough information to catch the errors in advance.

- add a remark about the design decision that calling functions such as
  `ConjugacyClasses` should not automatically trigger a `IsFinite` call,

- add a `ConjugacyClasses` method for an `FpGroup` without the `IsFinite`
  flag, such that a better error message is printed
@ThomasBreuer ThomasBreuer added kind: enhancement Label for issues suggesting enhancements; and for pull requests implementing enhancements topic: documentation Issues and PRs related to documentation topic: library release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes labels Feb 27, 2025
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: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: documentation Issues and PRs related to documentation topic: library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant