[SciPy-User] Need clarification on paper "The NumPy array: a structure for efficient numerical computation": what does "vectorize" really mean?

Brian Merchant bhmerchant at gmail.com
Sat Jan 31 11:49:19 EST 2015


In "The NumPy array: a structure for efficient numerical computation"
(2011, http://arxiv.org/abs/1102.1523), the authors use the verb/adjective
"vectorize" in such a way that I need clarification.

On page 3, in subsection "Numerical operations on arrays: vectorization", I
get the (perhaps incorrect?) impression that "vectorization" refers to "an
operation that can be run using C for loops over C arrays". Already, the
vocabulary seems a little weird to me, since if "vectorization" really just
means "for loops in a low level language rather than a high level
language"...why create a word for the concept based on the root word
"vector"? Perhaps there is some history there that I am missing, but I can
accept that definition. The answer to the following StackOverflow seems to
suggest that "vectorization" means "implemented in a lower level language":
http://stackoverflow.com/questions/17483042/explain-the-speed-difference-between-numpys-vectorized-function-application-vs

However, on page 5, I see the following sentence: "In a non-vectorized
language, no temporary arrays need to be allocated when the output values
are calculated in a nested for-loop, e.g. (in C)". Hold on -- how does
"vectorized" make sense here? Should I interpret it as "in a low level
language, no temporary arrays need to be allocated when the output values
are calculated..."? If yes, well...why would temporary arrays need to be
allocated in a higher level language?

Can you help me make sense of my confusion?

Kind regards,
Brian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20150131/1cb10e08/attachment.html>


More information about the SciPy-User mailing list