| In computing we often like to conflate "ordered tuples of numbers" with "vectors." This vocabulary is even cooked into the C++ standard library. The difference is that mathematical vectors support some additional operations, such as addition and scalar multiplication. A vector in C++ is not a mathematical vector, since we can't add two vectors x+y, nor can we perform scalar multiplication a*v. For mathematical vectors we have this interpretation: An abstract vector is constructed by multiplying the numbers in the ordered tuple each by a corresponding abstract "basis vector" and adding up the results. The numbers are just the "coordinates" of a vector with respect to a particular basis. It may or may not make sense to talk about "basis vectors" in your application. Does it make sense to perform "coordinate transformations" on your objects? Another test is, "Do you want to use linear algebra?" If so, your objects are probably vectors. A similar but more egregious argument comes about with regard to tensors. Mathematically a tensor is a kind of function that takes vectors and co-vectors as arguments. A matrix, when coupled with the rules for multiplying matrices by row and column vectors, is a tensor. But an arbitrary n-dimensional array of numbers is not (necessarily) a tensor in the mathematical sense. Unfortunately that term was co-opted by the ML crowd because it sounds cool. :-) Getting back to what you mentioned about vectors having magnitude - in an abstract vector space, there is no definition of magnitude. It's not until you define an inner product that magnitude becomes defined. In this sense the grade-school definition of a vector as "a quantity with a magnitude and direction" does not necessarily comport with the standard definition of a mathematical vector space. We like to say that "a tensor is an object that transforms like a tensor" and the same is true for vectors. "A vector is an object that transforms like a vector" under coordinate transformations, while also supporting addition and scalar multiplication. To address your question more directly: typically "points" (in so much as they are relative to a coordinate system) really are "vectors". But general tuples of numbers are not necessarily. |