On 16 May 2012 21:01, Vinzent Steinberg <[email protected]> wrote: > Am Samstag, 12. Mai 2012 19:17:03 UTC+2 schrieb Stefan Krastanov: >> >> If we do this it would be possible to write stuff like `eye(2)*[x, y]` >> and it will work. > > > This could be implemented in Matrix.__mul__ and __rmul__. However, I'm not > really sure it's a good idea. > > In numpy we have this behavior: > >>>> from numpy import * >>>> a = matrix([[1,2],[3,4]]) >>>> a*[1,-1] > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line > 330, in __mul__ > return N.dot(self, asmatrix(other)) > ValueError: objects are not aligned >>>> [1,-1]*a > matrix([[-2, -2]]) >>>> a = array([[1,2],[3,4]]) >>>> [1,-1]*a > array([[ 1, -2], > [ 3, -4]]) >>>> a*[1,-1] > array([[ 1, -2], > [ 3, -4]]) > > So it treats [1, -1] as a row vector. >
However, Matrix([1, -1]) returns a column vector and it would be nice to imitate the constructor. -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
