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