GAP subgroups know its parent, which in the case of permutation groups
amount to knowing the domain of action.
Sage ought to follow the suit, IMHO

On May 21, 6:36 am, Jason B Hill <jason.b.h...@colorado.edu> wrote:
> This is definitely an example of where Sage and GAP differ in their
> approaches, but this is more about subgroups/subactions... and there hasn't
> been much discussion on this topic yet.
>
> GAP evaluates subgroups/subactions without regard for the degree of the
> original action. Thus, if you take your typical degree 4, primitive
> representation of S_4 on 4 integers, then any subgroup defined as a single
> point stabilizer of one of those integers will be a degree 3 group. (In Sage
> currently: If you start with the S_4 action on [1..4] then three of the
> point stabilizers are degree 4 and one of them is degree 3.)
>
> GAP's approach at forgetting the degree of the original action feels
> counter-intuitive and it feels like the actions should sustain a notion of
> degree from the original group. I think this could be argued either way. The
> reason GAP does this is purely algorithmic, as many invariants of a
> particular permutation action (such as composition series, stabilizer
> chains, etc.) are formed by recursively reducing the degree of the action
> (through point stabilizers, homomorphisms into groups of smaller degree,
> etc.). It is also the only consistent way for GAP to determine if subactions
> are transitive, or primitive, or etc... and essentially GAP is only
> performing those determinations on a collection of non-fixed-points for the
> subactions.
>
> Your example is confusing for other reasons though. Notice the following
> rewrite:
>
> sage: G=SymmetricGroup(4)
> sage: g=G("(1,2)")
> sage: g in G.centralizer(g)
> True
> sage: H=SymmetricGroup(3)
> sage: g in H.centralizer(g)
> False
>
> It is arguable that this last argument returns false for the wrong reason.
> The question then becomes how g=G("(1,2)") is in any way different than
> declaring g to be "the" transposition (1,2). Anyway... this is a different
> issue.
>
> I think the design question here is in how Sage should treat the domain of
> subactions/subgroups. This is different than the original question of the
> domain of actions themselves, but obviously highly related and should
> probably be answered at the same time. Essentially, what I am saying is that
> I think Sage should be compatible with GAP as much as possible in terms of
> the notion of the degree of a permutation group. But, when it comes to
> subgroups, GAP fails to recognize that the structure in question is indeed a
> subgroup (It applies methods consistently and naively). If there is enough
> demand to have this notion of subgroup as an extra structural component for
> permutation groups in Sage, we would need to discuss how to implement such a
> thing.
>
> Jason
>
> On Thu, May 20, 2010 at 12:55 PM, Rob Beezer <goo...@beezer.cotse.net>wrote:
>
>
>
>
>
> > Consider the following discovered in the course of debugging an IRC
> > query:
>
> > sage: G=SymmetricGroup(4)
> > sage: g=G("(1,2)")
> > sage: g in G.centralizer(g)
> > True
>
> > sage: G=SymmetricGroup(3)
> > sage: g=G("(1,2)")
> > sage: g in G.centralizer(g)
> > False
>
> > Explanation:
> > In the first case, (3,4) is in the centralizer and so
> > G.centralizer(g).degree() == 4.
>
> > In the second case, the centralizer is just {(), (1,2)} and so
> > G.centralizer(g).degree() == 2.
>
> > A workaround is  g in G.centralizer(g).list()  which seems to be
> > immune to this.
>
> > It looks like  G.centralizer(g)  gets generators from GAP and uses
> > those to build a new permutation group, independent of any notion of
> > where  g  came from (ie degree of its parent).
>
> > I imagine I can fix this one, but I'm posting here since I wonder if
> > this is a concrete example that ties into the current discussion about
> > symbols, fixed/unfixed elements, transitivity, etc for permutation
> > groups?
>
> >http://groups.google.com/group/sage-devel/browse_thread/thread/330ddc...
>
> > Rob
>
> > --
> > To post to this group, send an email to sage-devel@googlegroups.com
> > To unsubscribe from this group, send an email to
> > sage-devel+unsubscr...@googlegroups.com<sage-devel%2bunsubscr...@googlegrou 
> > ps.com>
> > For more options, visit this group at
> >http://groups.google.com/group/sage-devel
> > URL:http://www.sagemath.org
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to 
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group athttp://groups.google.com/group/sage-devel
> URL:http://www.sagemath.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to