Gradient of vector field notation Working in 3D. I know that the gradient is a vector operator defined as $\nabla = [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}]$.
The gradient of a scalar scalar-valued function $f(\vec{x})\in\mathbb{R}$ is $\nabla f(\vec{x}) = [\frac{\partial}{\partial x}, \frac{\partial}{\partial y}, \frac{\partial}{\partial z}]f(\vec{x}) = [\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y}, \frac{\partial f}{\partial z}]$. This makes sense to me. 
But if we take the gradient of a vector field, say $\vec{f} = [f_1,f_2,f_3]$, I know that this is
$\displaystyle
\nabla \vec{f} =
\begin{bmatrix}
\frac{\partial f_1}{\partial x} &
\frac{\partial f_1}{\partial y} &
\frac{\partial f_1}{\partial z} \\
\frac{\partial f_2}{\partial x} &
\frac{\partial f_2}{\partial y} &
\frac{\partial f_2}{\partial z} \\
\frac{\partial f_3}{\partial x} &
\frac{\partial f_3}{\partial y} &
\frac{\partial f_3}{\partial z} \\
\end{bmatrix}
$.
But how did we get to this? Since both $\nabla$ and $\vec{f}$ are vectors, this seems a bit like an outer product, but writing $\nabla \otimes\vec{f}$ turns out to be the transpose of what I want i.e.
$\displaystyle
\nabla \otimes\vec{f}=\nabla\vec{f}^T
= 
\begin{bmatrix}
\frac{\partial}{\partial x}\\
\frac{\partial}{\partial y}\\
\frac{\partial}{\partial z}
\end{bmatrix}
\begin{bmatrix}
f_1 & f_2 & f_3
\end{bmatrix}
=
\begin{bmatrix}
\frac{\partial f_1}{\partial x} &
\frac{\partial f_2}{\partial x} &
\frac{\partial f_3}{\partial x} \\
\frac{\partial f_1}{\partial y} &
\frac{\partial f_2}{\partial y} &
\frac{\partial f_3}{\partial y} \\
\frac{\partial f_1}{\partial z} &
\frac{\partial f_2}{\partial z} &
\frac{\partial f_3}{\partial z} \\
\end{bmatrix}
$
Am I not understanding something correctly? What am I doing wrong?
 A: From my limited understanding you want the dyadic tensor product, not the outer product. 
In more complex examples this is not always the case, but for ${\bf a},{\bf b}\in$ Euclidean space, the dyadic product is related to the outer product by
$$ {\bf a}\otimes{\bf b}\equiv{\bf a}{\bf b}^T $$
Which agrees with your example.
When placed next to a scalar-valued function or vector field alike $\nabla$ is considered an operator. Subsequently, for the vector field case you want the dyadic product of $\nabla$ and the vector field it is acting on. Check out the section marked, three dimensional space on the wikipedia page for dyadics https://en.wikipedia.org/wiki/Dyadics
A: Your first idea is incomplete, the result of the gradient operator is a column vector, or at least the same type of vector as used in the point space. The relation between them is that the directional derivative $df(v)=\frac{\partial f}{\partial v}$ for a scalar function $f$ can also be written as the scalar product $∇f·v$.
With $\vec f$ likewise a column vector, $∇\vec f$ does not make much sense, the usual constructs are the divergence $∇·\vec f$ and the curl $∇\times\vec f$.
One can of course also write the derivative of the vector field as $D\vec f=∇^T\vec f$. While $∇\otimes \vec f$ has the same components, it has a slightly different geometrical interpretation as a bi-vector.
There could also be some mix-up in the assignment of row and column vectors to space points and translations on one side and linear functionals on the other. In the first half you use rows for the points as is it quite common in computer graphics. Then also transformations act as vector-matrix products. In the second half discussing the Jacobian you switch to the convention more usual in analytical and differential geometry, where (coordinate) vectors are columns and linear forms are represented by row vectors.
