-
Notifications
You must be signed in to change notification settings - Fork 167
Rename acting_domain to acting_group and some improvements for group cosets
#4302
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
Conversation
- access defining data via functions not fields - rename `acting_domain` to `acting_group` - improve documentation - `in` for left/right cosets now delegates to a membership test in a group - iterator for left/right cosets now uses a group iterator
|
@ThomasBreuer does it resolve those PRs completely? Then you can write |
No. |
Add the type of the *subgroup* as a parameter,
then we can prescribe a better `Base.IteratorSize(::Type{<:GroupCoset})`,
as proposed in oscar-system#4289.
Note that in principle, we could omit the type of the *big group* from the
parameters since it is the `parent_type` of the element type parameter.
(The design of the `GroupCoset` type dates back to the times when
we thought that a group has the same type as its subgroups.
At the time when this idea was given up, I should have changed
`GroupCoset` to take the *subgroup* type as a parameter.)
This was tricky: The error messages were misleading, the problem occurred on a lower level.
|
Run tests / test (1.6, short, ubuntu-latest) failed with a segmentation fault, restarted. |
| function GroupCoset(G::T, H::GAPGroup, representative::S, side::Symbol) where {T<: GAPGroup, S<:GAPGroupElem} | ||
| return new{T, S}(G, H, representative, side, Ref{GapObj}()) | ||
| function GroupCoset(G::TG, H::TH, representative::S, side::Symbol) where {TG <: GAPGroup, TH <: GAPGroup, S <:GAPGroupElem} | ||
| return new{TG, TH, S}(G, H, representative, side, Ref{GapObj}()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe enforce the type relation(s) here, e.g. something like @assert S == elem_type(TG) or so (assuming that's correct)
acting_domain to acting_group and some improvements for group cosets

acting_domaintoacting_groupinfor left/right cosets now delegates to a membership test in a groupaddresses #4283 and #4289