In the recent discussion "Change the default base_ring for matrices from ZZ to QQ", there were lots of opinions shared, and William summarized some feelings from the group, but it wasn't a solid conclusion (at least, based on an IRC conversation, William is rethinking the conclusion).
Here are two (somewhat competing) proposals, one from an IRC discussion with William just now and the other from William's summary from the previous thread. Proposal A: If a ring is not specified in a matrix() call, and the elements provided are all integers (or if there are no elements provided), then the base ring would default to QQ (instead of ZZ, as would currently happen). Reasons (from William and from discussions with a linear algebra person): 1. "linear algebra" is over fields (as opposed to module theory). When commonly-created matrices (i.e., ones with integer entries or with no specified entries) "default" to non-fields, the behavior is very surprising to linear algebra people and casual users (like linear algebra students, for example). 2. the matrix() command was designed for ease of use for "casual end users" 3. It is very easy to explicitly specify a ring, either in matrix() or via MatrixSpace So here are the cases we would see a change in behavior matrix(3,3) would return a 3x3 zero matrix over QQ instead of over ZZ matrix(3,range(9)) would return a 3x3 matrix over QQ instead of over ZZ. Proposal B (from William's summary on the previous thread): Leave matrix() as-is. Rename echelon_form to hermite_form, and make a new echelon_form function that computes hermite_form over the fraction field of the base ring. Thoughts? Jason --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---