<div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div>I know, but if an element-wise operator is useful it would also be useful for libraries like NumPy that already support the @ operator for matrix multiplication.  </div></div></blockquote><div dir="auto"><br></div><div dir="auto">A bit of history:</div><div dir="auto"><br></div><div dir="auto">A fair amount of inspiration (or at least experience) for numpy came from MATLAB.</div><div dir="auto"><br></div><div dir="auto">MATLAB has essentially two complete sets of math operators: the regular version, and the dot version.</div><div dir="auto"><br></div><div dir="auto">A * B </div><div dir="auto"><br></div><div dir="auto">Means matrix multiplication, and </div><div dir="auto"><br></div><div dir="auto">A .* B</div><div dir="auto"><br></div><div dir="auto">Means elementwise multiplication. And there is a full set of matrix and elementwise operators.</div><div dir="auto"><br></div><div dir="auto">Back in the day, Numeric (numpy’s predecessor”) used the math operators for elementwise operations, and doing matrix math was unwieldy. There was a lit of discussion and a number of proosals for s full set of additional operators in python that could be used for matrix operations ( side note: there was (is) a numpy.matrix class that defines __mul__ as matrix multiplication).</div><div dir="auto"><br></div><div dir="auto">Someone at some point realized that we didn’t need a full set, because multiplication was really the only compelling use case. So the @ operator was added.</div><div dir="auto"><br></div><div dir="auto">End history.</div><div dir="auto"><br></div><div dir="auto">Numpy, or course, is but one third party package, but it is an important one — major inconsistency with it is a bad idea.</div><div dir="auto"><br></div><div dir="auto"> -CHB</div><div dir="auto"><br></div></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Christopher Barker, PhD<br><br> Python Language Consulting<br>  - Teaching<br>  - Scientific Software Development<br>  - Desktop GUI and Web Development<br>  - wxPython, numpy, scipy, Cython<br></div>