[Python-ideas] Vectorization [was Re: Add list.join() please]
Christopher Barker
pythonchb at gmail.com
Sun Feb 3 22:08:22 EST 2019
> 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.
>
A bit of history:
A fair amount of inspiration (or at least experience) for numpy came from
MATLAB.
MATLAB has essentially two complete sets of math operators: the regular
version, and the dot version.
A * B
Means matrix multiplication, and
A .* B
Means elementwise multiplication. And there is a full set of matrix and
elementwise operators.
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).
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.
End history.
Numpy, or course, is but one third party package, but it is an important
one — major inconsistency with it is a bad idea.
-CHB
--
Christopher Barker, PhD
Python Language Consulting
- Teaching
- Scientific Software Development
- Desktop GUI and Web Development
- wxPython, numpy, scipy, Cython
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20190203/03fdd123/attachment-0001.html>
More information about the Python-ideas
mailing list