Hi Jason,

Thanks for your comments.  I was mulling some commentary on your
previous post about permutation groups, but my comments are just
applicable in this case, so here goes.

My main interest in Sage is its use in my teaching.  GAP is a perfect
example.  I've always felt that the syntax and learning curve for GAP
would require about 7 or 8 weeks to get my undergraduate students to a
productive state (though I never ran that experiment in a careful
way).  In contrast, Sage takes about 3 weeks or less to get through
all the logistical, syntactical and other gotchas before I can
concentrate totally on having the students explore new ideas (I've run
this experiment twice).  And of course, then in subsequent courses the
startup time is nearly zero (in contrast, to say, learning Singular or
PARI from scratch).

A real strength of the Sage community is that there is little tension
between supporting clean intuitive syntax for beginners and providing
powerful routines for experts.  So my point-of-view is that Sage
should harness the power (speed, maturity, breadth) of GAP in a way
that is easy for beginners and experts alike.  And if it fails the
experts, there is always the direct interface to GAP itself to fall
back on.

In the specific case of the centralizer, I've looked briefly at the
code, and I would suggest the following adjustment.  Instead of
returning a brand-new PermutationGroup object (current behavior), I
would return a subgroup of the original group.  My argument: if a
textbook has the following definition for a centralizer

C(g)={h\in G | .....}

then it would be best if Sage would return a subgroup of G, carrying
that much more information.  I haven't checked, but I would think it
would be easy to convert the centralizer to a group of its own
(discard the subgroup information) and even slim down its degree.  But
I'd rather have that information preserved for the beginner, than have
it obscured, or hard to resurrect.

In terms of the broader discussion, it would be great if the symbol
set for a permutation group could be anything (hashable), with
dictionary translation between GAP's integers of 1..n.  I belive this
was Dima's short reaction.  As one example where this would be a huge
improvement, default vertex labeling for graphs begins at 0, so a
computed automorphism group has the 0-vertex translated to the n-
integer in the permutations.  Very confusing, even when you expect it
and understand why.

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
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to