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?

  • $\begingroup$ 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$. $\endgroup$ – Nathan Marianovsky Dec 8 '15 at 0:52
  • $\begingroup$ 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. $\endgroup$ – user137731 Dec 8 '15 at 0:53
  • $\begingroup$ 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. $\endgroup$ – Raxxy Dec 8 '15 at 1:02

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


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.