This is more abstract and more advanced than the "inner product" but if you are using the "outer product", you may want to think about this.
The "dual" of a finite dimensional vector space, V, (the space of linear functionals from V to the base field) is isomorphic to v with a "natural" isomorphism: given a basis {e_1, e_2, \cdot\cdot\cdot, e_n}, map each basis vector e_i to the functional, f_{e_i}(v) that maps e_i to 1, all other e_j to 0. Then extend it to the entire space by "linearity": if v= a_1e_1+ a_2e_2+ \cdot\cdot\cdot a_ie_i+ \cdot\cdot\cdot+ a_ne_n, f(v)= a_1 f(e_1)+ a_2f(e_2)+\cdot\cdot\cdot+ a_if(e_i)+ \cdot\cdot\cdot+ a_nf(e_n)= a_1(0)+ a_2(0)+ \cdot\cdot\cdot+ a_i(1)+ \cdot\cdot\cdot+ a_n(0)= a_i.
Since that is an isomorphism, given any vector u, that isomorphism maps it to f_u(x). Given any two vectors, u, and v, the functional f_u(v) takes v to the real number u\cdot v, their dot product as defined in that particular basis. On the other hand "v f_v(x) can be interpreted as a linear transformation that maps each vector , w, into the vector (f_v(w))u an numeric multiple of u. If we agree to write vectors as column matrices, say
v= \left[\begin{array}{c}a_1 \\ a_2\\ \cdot \\ \cdot \\ \cdot \\ a_n\end{array}\right]
and functionals in the dual space as row matrices, say
f_u= \left[\begin{array}{ccccc}b_1 & b_2 & \cdot\cdot\cdot & b_n\end{array}\right]
Then the operation of the functional, f_u on v is the matrix product
\left[\begin{array}{ccccc}b_1 & b_2 & \cdot\cdot\cdot & b_n\end{array}\right]\left[\begin{array}{c}a_1 \\ a_2\\ \cdot \\ \cdot \\ \cdot \\ a_n\end{array}\right]
while the linear transformation corresponding to v f_u is give by the matrix product
\left[\begin{array}{c}a_1 \\ a_2\\ \cdot \\ \cdot \\ \cdot \\ a_n\end{array}\right]\left[\begin{array}{ccccc}b_1 & b_2 & \cdot\cdot\cdot & b_n\end{array}\right]