I think this is a good idea.

-M. Hampton

On May 15, 8:20 am, Jason Grout <[EMAIL PROTECTED]> wrote:
> Based on some conversations with linear algebra people and classroom
> demonstrations in a linear algebra class, people are confused that when
> they create a matrix with matrix(3, range(9)), for example, that the
> echelon_form is not the rref output that they get from most any other
> program they have ever used, and certainly not what is taught in an
> undergrad linear algebra class.  There is additional confusion if the
> entries specified have a fraction in them; then the matrix defaults to
> being over QQ, and the echelon_form functino gives the expected naive
> rref!  The problem, of course, lies in the matrix defaulting to having
> base_ring == ZZ (i.e., non-field).
>
> What do people think about making the default ring for matrices QQ?
> Additionally, if the ring R is determined from the elements provided,
> then the matrix would be over R.fraction_field().  Of course, the
> documentation for matrix() would clearly indicate what is happening if
> the ring is not specified.
>
> With this change:
>
> matrix(3, range(9)) would yield a matrix over QQ because the elements
> live in ZZ, and then we call ZZ.fraction_field() to get the base ring of
> the matrix.
>
> matrix(3,3) would yield a matrix over QQ because QQ would be the default
> ring if no entries are specified.
>
> matrix(R,...) would yield a ring over R, since R was explicitly specified.
>
> Thanks,
>
> 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