Fix FactorCosetAction(G, G) for perm. groups#5903
Fix FactorCosetAction(G, G) for perm. groups#5903fingolfin merged 1 commit intogap-system:masterfrom
FactorCosetAction(G, G) for perm. groups#5903Conversation
Catch the case of an action with trivial image in `DoFactorCosetActionPerm`, and delegate to `DoFactorCosetAction` in this case.
|
I do not understand the remark that the added lines are not covered by tests. |
If we have a look at the codecov webpage (https://app.codecov.io/gh/gap-system/gap/pull/5903/blob/lib/csetperm.gi#L886), it there states that your added lines are indeed covered (aka are green), while the error case two lines above is uncovered. My assumption is that there is a small offset somewhere in the codecov-to-github interface that mistakenly reports this |
Catch the case of an action with trivial image in `DoFactorCosetActionPerm`, and delegate to `DoFactorCosetAction` in this case.
|
Backported to stable-4.14 in fb105c9 |
|
Please excuse me for commenting under a closed issue - I'm not sure whether I should open a new one or ask on the mailing list first, please let me know. I think I found an example where the issue still occurfor the following question:
I have code (in sagemath, sagemath/sage#40186) that produces such a situation - although I am not sure whether or not I might be abusing Apparantly, this only happens for the trivial group: |
|
@mantepse Yes, if there is a chance that this operation gets called for the trivial group, this case (which will always just map to the trivial permutation group on 0 points), one needs to catch it at the start. (One of the tricksy bits is that the group on 1 point acts actually on 0.) The list functionality is definitive needed -- it is used to construct (subdirectories product) permutation actions on the cosets of multiple subgroups. |
Catch the case of an action with trivial image in
DoFactorCosetActionPerm, and delegate toDoFactorCosetActionin this case.resolves #5902
(Just for curiosity:
The code for
DoFactorCosetActionandDoFactorCosetActionPermdeals with the case that the second argument is a list (not a group), but only in order to callErrorif this list is empty. The functions called later, such asCoreandActionRefinedSeries, do not accept a list as the value of this argument.Is this list situation meaningful at all?)