Leibniz rule for covariant derivative

Say you have two tensors $\omega,\eta$ of valence $(0,1)$ (i.e., $1$-forms). Then $\nabla\omega$ and $\nabla\eta$ are $(0,2)$ tensors. For two vectors $u,v$, what should $\nabla\omega(u,v)$ mean? The usual thing, which you did, is to interpret it as $(\nabla_u\omega)(v)$, but someone may (although unlikely) interpret it as $(\nabla_v\omega)(u)$. This is not a problem, since almost everyone understands the first meaning and we are all happy.

Now, if $u,v,w$ are vectors, what do you think $\nabla(\omega\otimes\eta)(u,v,w)$ should be? of course, the standard answer is $\nabla_u(\omega\otimes\eta)(v,w)$, which equals $\nabla_u\omega(v)\eta(w)+\omega(v)\nabla_u\eta(w)$ (you can prove it). However, notice what happens if you apply $\nabla\omega\otimes\eta+\omega\otimes\nabla\eta$ to the same tuple of vectors $(u,v,w)$ using the same convention: you get $$\begin{align*} (\nabla\omega\otimes\eta+\omega\otimes\nabla\eta)(u,v,w) &= \nabla\omega(u,v)\eta(w)+\omega(u)\nabla\eta(v,w) \\ &= \nabla_u\omega(v)\eta(w)+\omega(u)\nabla_v\eta(w) \\ &\neq \nabla_u\omega(v)\eta(w)+\omega(v)\nabla_u\eta(w) \\ &= \nabla_u(\omega\otimes\eta)(v,w) \\ &= \nabla(\omega\otimes\eta)(u,v,w) \end{align*}$$ which is not what we expected. That is why $\nabla(\omega\otimes\eta)\neq\nabla\omega\otimes\eta+\omega\otimes\nabla\eta$.

How to fix this? Well, let me advertise my second favourite option: using abstract index notation. In this convention, we use indices to indicate the slots of a tensor, and the tensor product is just juxtaposition. For example, the contraction of $\omega$ with a vector $v$ is written as $\omega(v)=\omega_av^a$, the tensor product $\omega\otimes\eta$ looks like $(\omega\otimes\eta)_{ab}=\omega_a\eta_b$, the covariant derivative (without being applied to a vector) is $(\nabla \omega)_{ab}=\nabla_a\omega_b$ and the applied covariant derivative is $(\nabla_u\omega)_a=u^b\nabla_b\omega_a$.

How does this help us? Well, then it is true that $(\nabla(\omega\otimes\eta))_{abc}=\nabla_a(\omega_b\eta_c)=\nabla_a\omega_b\eta_c+\omega_b\nabla_a\eta_c$. This is because the indices keep track of who should eat whom in the case three wilde vectors $u^av^bw^c$ appear. Don't let your notation to inconvenience you.

In this notation, your calculation is written as

$$\begin{align*} \nabla_u(\nabla_vw) &= u^a\nabla_a(v^b\nabla_bw^c) \\ &= u^a[\nabla_av^b\nabla_bw^c+v^b\nabla_a\nabla_bw^c] \\ &= u^a\nabla_av^b\nabla_bw^c+u^av^b\nabla_a\nabla_bw^c \text. \end{align*}$$

Let me know if you have any question.


You should think about the two "covariant derivatives" $\nabla T$ and $\nabla_u T$ the same way you think about differentials and directional derivatives of scalar functions:

If $f : M \to \mathbb R,$ then the covector field $df$ is defined in terms of the directional derivatives $uf$ by $df(u) = uf.$ In vector calculus, we thought about the gradient instead, and would have written this something like $\nabla f \cdot u = D_u f.$

In exactly the same way, we simply define $\nabla T (u)= \nabla_u T,$ and (after checking that this is indeed tensorial in $u$) we have "bundled up" all the derivatives of the tensor field $T$ into a tensor field of one degree higher.

Your calculation for the second covariant derivative (and the Leibniz rule $$\nabla_u(S \otimes T) = \nabla_u S \otimes T + S \otimes \nabla_u T \tag 1$$ that you used in it) are perfectly correct.

The only reason the rule $$\nabla (T\otimes S) = \nabla T \otimes S + T\otimes \nabla S \tag 2$$ is incorrect is the order of the slots/indices. To make this concrete, let's suppose $S$ and $T$ are covector fields for simplicity. In index notation, the correct Leibniz rule is $$\nabla_i(T\otimes S)_{jk} = (\nabla_i T)_j S_k + T_j (\nabla_i S)_k.$$ Note that the direction of differentiation is always $\partial_i$. On the other hand, the incorrect rule $(2)$ would translate into index notation as $$\nabla_i(T \otimes S)_{jk}=(\nabla_iT)_jS_k+T_i (\nabla_jS)_k.$$ Thus $(2)$ has to be corrected by some transposition of indices, something like $$\nabla(T \otimes S) = \nabla T \otimes S + \operatorname{swap}_{12} (T \otimes \nabla S).$$ I've had to invent this "swap" notation for slot transposition, since (as far as I know) there is no conventional way to write this operation when using index-free notation in DG. Usually, authors take one of the following approaches:

  • Use an index-based notation where transposition (and contraction) of higher-order tensors is simple and intuitive to notate.
  • "Plug in" enough vectors/covectors (treated as free variables) that the transposition becomes unnecessary, as in $(1).$
  • In some cases, just abuse notation and write $(2)$, even though it is technically incorrect. In situations where you're not likely to get the various slots mixed up, it's very neat and conceptually clear.