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

Better coset accessors & documentation #4283

Open
fingolfin opened this issue Nov 7, 2024 · 1 comment
Open

Better coset accessors & documentation #4283

fingolfin opened this issue Nov 7, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request topic: groups

Comments

@fingolfin
Copy link
Member

While looking at PR #4274 modifying the group cosets code I started to wonder: For a GroupCoset in variable x,

  1. what is the getter to retrieve x.G? I found none
  2. what is the getter to retrieve x.H? Searching the code I found
    acting_domain(C::GroupCoset) = C.H
    While it makes some sense to me (if one considers a right coset Hg as a G-set, namely the (left!) orbit of g under H) I don't think most people would find it. Can we come up with a better name? (The old one should stay supported to be non-breaking). Perhaps at least acting_group?
  3. Turns out for GroupDoubleCoset we use left_acting_group and right_acting_group ... some consistency in terminology might be helpful.
  4. Regardless of that, the accessors for x.G and x.H as well as representative(x) should be made to easier to find -- I suggest the docstrings for GroupCoset as well as right_coset and left_coset should [@ref] these accessors and perhaps also include a doctest example showing their use? Though arguably it is enough to point at these functions, then their docstrings can contain usage examples.
  5. Similar for double cosets (i.e. mention accessors in docstrings)
@ThomasBreuer
Copy link
Member

I think that the best starting point for cleaning the code is the documentation:
The section starts with the type GroupCoset, but this covers only left and right cosets, double cosets have the independent type GroupDoubleCoset, which appears much later in the manual; we should start with describing the types, and link to the functions for cosets.
There was the idea to introduce also two different types for left and right cosets, instead of one type GroupCoset and a distinguishing field side in the objects; as far as I see, the advantage would be that fewer statements have to be executed at runtime. Anyhow, the types must be fixed in order to be able to document it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request topic: groups
Projects
None yet
Development

No branches or pull requests

3 participants