Table 3 List of operators implemented for each type of n-dimensional vector, quaternions, octonions, sedenions, and complex numbers.

From: A new advance on dimensional-aware scalar, vector and matrix operations in C++

Operator

Operation

Note

u + v

\((u_1+v_1, u_2+v_2, \ldots , u_n+v_n)\)

 

u - v

\((u_1-v_1, u_2-v_2, \ldots , u_n-v_n)\)

 

u * v

(Hamilton multiplication)

\(\dagger \)

v * k

\((v_1\,k,v_2\,k, \ldots , v_n\,k)\)

 

k * v

\((k\,v_1,k\,v_2, \ldots , k\,v_n)\)

 

u / v

(Hamilton division)

\(\dagger \)

v / k

\((v_1/k, v_2/k, \ldots , v_n/k )\)

 

u > v

\(u_1^2 + u_2^2 + \ldots + u_n^2 > v_1^2 + v_2^2 + \ldots + v_n^2 \)

 

u < v

\(u_1^2 + u_2^2 + \ldots + u_n^2 < v_1^2 + v_2^2 + \ldots + v_n^2 \)

 

u >= v

\(u_1^2 + u_2^2 + \ldots + u_n^2 \ge v_1^2 + v_2^2 + \ldots + v_n^2 \)

 

u <= v

\(u_1^2 + u_2^2 + \ldots + u_n^2 \le v_1^2 + v_2^2 + \ldots + v_n^2 \)

 

u == v

\(u_1=v_1 \text { and } u_2=v_2 \; \ldots \text { and } u_n=v_n\)

 

u != v

\(u_1 \ne v_1 \text { or } u_2 \ne v_2 \;\ldots \text { or } u_n \ne v_n\)

 
  1. The \(\dagger \) symbol marks hamiltonian multiplication and division, operations available only for quaternions, octonions, sedenions, and complex numbers. Relational operators compare the module of the vectors at the first instance: if the module is equal, then the vector’s elements are compared one by one to obtain a strong ordering.