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?

• First of all the $\nabla$ operator is known as the del operator. Then the gradient is the result of the del operator acting on a scalar valued function. As for $\nabla\overrightarrow{f}$, it seems like each row is representing the gradient of each component of $\overrightarrow{f}$. I honestly don't think that there is any simple notation for the operation $\nabla\overrightarrow{f}$ except $(\nabla \otimes \overrightarrow{f})^T$. – Nathan Marianovsky Dec 8 '15 at 0:52
• The Jacobian of $\mathbf f$ at $\mathbf p$ (which is sometimes written as $\nabla \mathbf f$) is actually defined as the unique linear map such that $\mathbf f(\mathbf x) = \mathbf f(\mathbf p) +[\text J\mathbf f(\mathbf p)](\mathbf x-\mathbf p)+o(\|\mathbf x-\mathbf p\|)$. It's not defined by matrix multiplication. – user137731 Dec 8 '15 at 0:53
• Of course! $\nabla \vec{f}$ is computed the same way as the Jacobian $j_{i,j} = \frac{\partial f_i}{\partial x_j}$. This makes a lot more sense now. Thanks. – Raxxy Dec 8 '15 at 1:02

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$$
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