Here are some ideas. Note: naming contests are not very suited to the StackExchange format, but the discussion of rationale behind naming choices could be suitable if useful principles can be summarized.
The question is meaningful in that it has a specific context: a 3D vector class.
While OP had not explained the precise use case of the class or library, one could easily imagine such a class could be useful for 3D geometry and 3D (RGB/YCbCr) colorspace.
However, if the library ever needs to extended to other usage, such as RGBA (transparency), 3D Perspective (projective) geometry, rotational mechanics, etc., it is foreseeable that a 3D vector class is insufficient on its own.
For example, a typical
ColorMatrix implementation is a 5x5 matrix, with each column and row associated with: Red, Green, Blue, Alpha (opacity), and finally Constant-term. The needs for 3D perspective vector operations are similar: a 3D vector is padded with a fourth term named "scale" or "divisor", and operations are performed with 4x4 matrix.
Therefore, one will need to think about future extensibility of use cases, or to preclude them, when one considers naming issues.
Another fun-issue (or non-issue) is whether one would like to distinguish between 3D vectors of different physical meanings. The simplest case being a 3D vector in space representing
(x, y, z), versus a 3D color vector representing
(r, g, b). While this is all too easy to handle in most programming languages, you still have to choose a design with careful deliberation.
One more language-specific issue (before discussing the naming issue) is the operator overriding capabilities of that language. In particular, if the library will eventually support multiple languages, this requires careful naming.
In additional to the libraries mentioned above, one can also consider:
Now, the naming.
- Alternative names for multiplication, such as:
- Words that indicate one-by-one processing as prefix/suffix:
- Words that indicate data parallelism as prefix/suffix:
- Note: sometimes, a single letter prefix could be sufficient:
- Intel SSE uses the letter "P" to indicate SIMD operations.
- AMD NEON uses the letter "V" to indicate SIMD operations.
- Combinations of such words: