More Vector Calculus Identities

I realize that “rule 2” from the previous post is actually just a special case of the vector chain rule.

Rule 4. (Chain rule)

If $f({\bf x}) = {\bf g}({\bf h}({\bf x}))$, then

$J[{\bf f}] = J[{\bf g}]J[{\bf h}]$, or equivalently,

$\frac{ \partial{\bf f} }{ \partial{\bf x}^T} = \frac{ \partial{\bf g} }{ \partial{\bf h}^T} \frac{ \partial{\bf h} }{ \partial{\bf x}^T}$.

Here, I have used ${\bf h}$ to denote the argument of ${\bf g}$. (That makes it look more like the usual chain rule.)

From this, you get the special case where $g$ is a scalar function. (I use the non-boldface $g$ in $g({\bf h})$ to suggest that $g$ is a scalar function that operates ‘element-wise’ on vector input.)

Rule 4. (Chain rule– special case for a scalar function)

If $f({\bf x}) = g({\bf h}({\bf x}))$, then

$J[{\bf f}]({\bf x}) = \text{diag}[ g'({\bf h})] J[{\bf h}]$, or equivalently,

$J[{\bf f}]({\bf x}) = g'({\bf h}) {\bf 1}^T \odot J[{\bf h}]$.

In the last line, I use the fact that $\text{diag}({\bf x})A = {\bf x}{\bf 1}^T \odot A$.

Finally, substituting $g = g' = \exp$ gives the special case below.

This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

2 Responses to More Vector Calculus Identities

1. Alejandro Jakubi says:

These are just elementary applications of Tensor Calculus, an over a century old subject. Look for an elementary introduction as probably you only need calculations in Euclidean space.

There are tensor packages for Maple, Mathematica, Macsyma, Reduce, …, as well as standalone systems.

2. justindomke says:

As I said, there is no doubt that these things are known. I am pretty confident that these rules (in the form I wrote them) must pre-date the invention of tensors. I wouldn’t be surprised if they were known in the early 18th century. If you have a specific reference, by all means share it.

Anyway, I’m not familiar with the packages for symbolic manipulation of tensors, but I do know that there is better/faster software available for numerical computation using matrices. So it certainly seems useful to have results in a non-tensor form, when the result can be conveniently written with regular matrices and vectors.