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
-~----------~----~----~----~------~----~------~--~---

Reply via email to