On Fri, 23 Jan 2004, Larry Wall wrote:
> Sorry, I was just copying the designers of supercomputers in my
> terminology.  So you can really blame Seymour Cray for misappropriating
> the term.  On a Cray, "vector processing" is just operations applied
> in parallel to two one-dimensional lists.  Unfortunately, I don't
> think you'll be able to get an apology from Seymour Cray these days...
>
> I really only care about the concept--I don't give a rip about the
> word "vector".  I can let it go at the drop of a hat.  Because of the
> confusion engendered by overloaded use of the term "vector", I've
> recently taken to calling them "distributed" operations instead.
> But that's a mouthful.  Maybe we need to make up a new word.
> But "dwimops" is a bit too general.  Parops, genops, hmm...  Maybe we
> should go back to "hyper ops".
>
> On the other hand, we could teach the mathemeticians not to assume
> that their usage of a word is the only usage.  :-)

I just want to chime in to support dropping the term "vector".  There are
enough people who speak both math and CS that I have noticed a lot of
confusion caused by the term, not only in the "outer product" vs "inner
product" vs what-we-really-mean, but also with stopping at the max or min
when working with unequal length lists.

I would vote for "element-wise" for a relatively accurate description, or
"hyper" for short, fun, and not-implying-anything-specific description.

I did a quick survey of a few vector math packages to find some
math-friendly terms.  The operations are usually described as being done
"element by element".  Matlab uses the term "array" operator, but that may
be overused in perl.  Octave says "element by element".  Mathematica uses
the term "element-wise".  Template Numerical Toolkit used both: "Array
(element-wise)".

~ John Williams


Reply via email to