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.

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.

Reply via email to