I think 1) is the reasonable way.
G.is_subgroup(H) should return if G is (in a natural way) a subset of H
such that it is closed under the group operations i.e. a subset.
For example for permutation groups (of {1,...,n} ) the "natural way" Is to
regard all of them as permutation groups of the natural numbers NN.

##
Advertising

In the concrete situation of libgap groups I would say that the function
should return if gap considers them as subgroups. (Which should be
compatible with the above.)
If one wants to have more restricted behaviour in a derived class, then one
should override is_subgroup !?
The application I have in mind is to create an abstract base class for
group homomorphisms of libgap groups. And if we want to compute the inverse
image of a subgroup, then this should be decided by the method
"is_subgroup".
On Friday, February 9, 2018 at 9:58:44 AM UTC+1, vdelecroix wrote:
>
> On 09/02/2018 09:47, Simon Brandhorst wrote:
> > Return whether the group was defined as a subgroup of a bigger
> > group.
>
> This description is very unclear anyway. See also #24535 for ambiguities
> concerning group comparisons.
>
> For me there are two relevant concepts
>
> 1) whether H is a subgroup of G, for example
>
> sage: G = PermutationGroup([ [4,3,2,1], [2,1,4,3] ])
> sage: H = PermutationGroup([ [4,3,2,1] ])
> sage: H.is_subgroup(G)
> True
>
> Here I did *not* defined H as a subgroup of G (so the above description
> does not apply). Note that in order for this comparison to make sense,
> G and H must be subgroups of a same ambient group (here
> SymmetricGroup(4)). But there is no such thing as an .ambient_group
> method.
>
> 2) whether G contains a subgroup isomorphic to H. In this situation no
> need to have a common ambient group
>
> I think that more generally discussing and fixing the semantic of group
> comparisons (and more generally algebraic structures) would be a good
> idea... and the behavior would ideally be coherent among all of Sage!
>
> Vincent
>
--
You received this message because you are subscribed to the Google Groups
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.