On Dec 27, 2007 3:50 AM, William Stein <[EMAIL PROTECTED]> wrote:
>
> On Dec 26, 2007 7:35 PM, Marshall Hampton <[EMAIL PROTECTED]> wrote:
> >
> > At least in the United States, and I assume some other places as well,
> > matrices are usually considered to act from the left.  So the kernel
> > of a matrix A would be the set of vectors x such that Ax = 0.  In
> > sage, the kernel is given for the matrix acting from the right, i.e.
> > the set of vectors y such that yA  = 0.  If there is compelling
> > argument as to why that makes sense, I can live with it.
>
> There are 2 or 3 reasons why things are as they are with matrix
> actions on vectors in Sage.
>
> 1. In Sage vectors are row vectors:
> sage: v = vector([1,2,3])
> sage: v
> (1, 2, 3)              # <-- that's a row
>
> Matrices act naturally from the right on row vectors.
>
> Nonetheless, we now allow both actions in Sage for convenience:
>
> sage: A = random_matrix(QQ,3)
> sage: A*v
> (5, -4, 3)
> sage: v*A
> (6, 3/2, -1)
>
> 2. David Kohel and I made the decision about which side matrices would act on
> when I started Sage, i.e., back when Sage was called "Software for Arithmetic
> Geometry Experimentation", and the main goal of Sage was to provide a viable
> open source alternative to the subset of Magma that David Kohel and I used, 
> and
> to do so in a way that made it as easy as possible to port our code from 
> Magma,
> and to go back and forth between Sage and Magma.
> In Magma matrices act from the right, probably because vectors are row vectors
> and also because Magma is Australian.
>
> 3. At some point I was about to change everything to matrices acting from the
> left, and David Kohel stopped me.
>
> I don't know if that is a compelling enough reason.   A fourth reason is that
> changing things now would be really really really hard, and would likely
> introduce numerous bugs all over the place.


Imho those are reasons why it is as it is, but imho 2) and 3) are not valid
reasons why we would like it to be the way it is now. And 1) is not a
reason either imho.
I think one should forget for a while about breaking things and think what is
the right way to do things. And then come back to reality and try to
converge to this aim
(if it is worthy).

But the solutions proposed later in this thread seem ok to me.

Ondrej

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@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-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to