Cayley tables for groups aren't working properly (http:// trac.sagemath.org/sage_trac/ticket/7340), so I've taken this as an excuse to write some new code for a more general object I've been calling an "operation table." (http://trac.sagemath.org/sage_trac/ ticket/7555) Besides groups, it could be used with lattices, for both operations in a ring, etc.
Cayley tables are currently matrices over a ring of multivariate polynomials, where each element of the group is represented by a different variable. My approach is to simply create tables to look at, ie ASCII or Latex or colored squares or.... Before I get this all organized to contribute I could use some advice on two questions: 1) Where would you park this? I'd be inclined to stick it in a misc.py module somewhere since it might be employed in a variety of places, but I don't even see a natural choice for an existing such module to add to, nor an obvious place to start a new one. 2) It would be unwieldy to place actual elements of, say a permutation group, into the body of the table. Similar to the variables mentioned above, I've been representing elements by "integers" (according to the ordering output by list()), using 0's on the left to pad to a common width, so elements might look like '03' and '12'. This runs the risk of being confused with actual integer elements of a group, ring or lattice in certain situations. However, I would also like to allow alternate orderings (with keyword requests), for example, in the presence of a normal subgroup the table can have a nice block structure if the elements are ordered by cosets. Any ideas for compact ways to consistently represent elements of an algebraic structure in such a visual table? Thanks, 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