I'm following the tutorial at this link, where the author states:

These follow from the various way one can iterate covariant derivative

$$\nabla^3_{xyz}s = \nabla^2_{xy}(\nabla_zs) - \nabla_{\nabla^2_{xy}z}s$$ and $$\nabla^3_{xyz}s = \nabla_x (\nabla^2)_{yz}s + \nabla^2_{yz}(\nabla_{x}s)$$

I'm unable to derive these equations myself.

My Attempt

For the second covariant derivative, I seem to be able to derive this. I used the product rule and the fact that we can commute the covariant derivative with contractions to show that:

$$\nabla_x\nabla_y s= \nabla_x C(\nabla s \otimes y) $$ $$\nabla_x\nabla_y s= C(\nabla_x \nabla s \otimes y) + C(\nabla s \otimes \nabla_x y ) $$ $$\nabla_x\nabla_y s= (\nabla_x\nabla s)(y) + \nabla_{\nabla_x y} s $$

I then assume that $(\nabla_x\nabla s)(y)$ is the second covariant derivative, so:

$$ \nabla^2_{xy}s = \nabla_x\nabla_y s - \nabla_{\nabla_x y } s $$

Now at this point we have one expression for the second covariant derivative. To get the next one, I just used the product rule to get:

$$ \nabla_x\nabla_y s = (\nabla_x\nabla)_y s + \nabla_{\nabla_xy}s + \nabla_y(\nabla_x s) $$ $$ \nabla_x\nabla_y s - \nabla_{\nabla_xy}s = (\nabla_x\nabla)_y s + \nabla_y(\nabla_x s) $$

$$ \nabla^2_{xy}s = (\nabla_x\nabla)_y s + \nabla_y(\nabla_x s) $$

But any attempts to do the same thing for the third covariant derivative seem to be failing for me. Is there some straightforward way to get to the results I quoted above from here that I'm not seeing?

  • $\begingroup$ Your second formula does not look right with $x,x,y$ in $\nabla_x(\nabla^2)_{xy}$. $\endgroup$ Feb 10, 2021 at 13:00
  • $\begingroup$ Oh yes I copied it wrong while I was typing this, easy fix. But the question still stands :P I'll fix that now. Thanks @user10354138 :) $\endgroup$ Feb 10, 2021 at 13:04
  • $\begingroup$ The "cheating" way for higher covariant derivatives in general is to use the fact that the formula is universal, so must hold for the trivial $\mathbb{R}$-bundle. So take $s\in C^\infty(M)$, where you know how to differentiate functions and clean up the non-tensorial bits in $X(Y(Z(s)))$ to get $\nabla^3_{XYZ}s$. $\endgroup$ Feb 10, 2021 at 13:23
  • $\begingroup$ I'd prefer not to reference functions if I can. I'd like a method similar to the one I used for the second covariant derivative if possible (because that is what the author seems to reference if I'm not misunderstanding them) $\endgroup$ Feb 10, 2021 at 13:26
  • $\begingroup$ What's your definition of $\nabla^3 s$? Are you familiar and comfortable with the object referred to as $\nabla s$? The two identities you quote could be taken as definitions, so it's important that you know where to start. $\endgroup$ Sep 6, 2021 at 8:40

2 Answers 2


My recommendation is to work out your own definitions and notation for everything. When you read someone else's writing, use their notation and proof as a guide to how to write everything including the proof in your own notation. Don't worry about understanding their notation literally.

I find higher covariant derivatives to be very confusing. The way I deal with it is that I view the covariant derivative of a higher order covariant derivative to be just a special case of the covariant derivative of a tensor. For example, the covariant derivative of a second order tensor $T$ is defined to be $$ (\nabla T)(X,Y,Z) = \partial_X(T(Y,Z)) - T(\nabla_XY,Z) - T(Y,\nabla_XZ) $$ So the second order covariant derivative of $T$ is \begin{align*} (\nabla^2T)(X,Y,Z,W) &= (\nabla(\nabla T))(X,Y,Z,W)\\ &=\partial_X(\nabla T(X,Y,Z)) - \nabla T(\nabla_XY,Z,W)\\ &\quad - \nabla T(Y,\nabla_XZ,W) - \nabla T(Y,Z,\nabla_XW) \end{align*} And so on.

Therefore, $\nabla^3T = \nabla(\nabla(\nabla T))) = \nabla^2(\nabla T) = \nabla(\nabla^2T)$. Now skew-symmetrization and the Ricci identity should give you what you want.

Note that my personal convention is to never write $\nabla_XT(Y,Z)$. I find that notation difficult to work with, even though I like the way the chain rule identity looks using that notation: $$ \partial_X(T(Y,Z)) = \nabla_XT(Y,Z) + T(\nabla_XY,Z) + T(Y,\nabla_XZ) $$

  • $\begingroup$ I’m sorry I didn’t respond right away, but I didn’t totally understand how to apply skew-symmetry action and the Ricci identity. Could you elaborate on that a little more? $\endgroup$ Apr 11, 2021 at 4:48

In order to deal with the third covariant derivative, you need to take two steps:

  1. Understand what the first covariant derivative $\nabla s$ is.
  2. Define $\nabla^3 s$ as $\nabla (\nabla (\nabla s))$.

As you can see, step 2 is quite trivial.

I will assume you already know what $\nabla_X s$ is. If $s$ is a section of $E$ (which might be a tensor product of $TM$'s and $T^*M$'s), $X$ is a tangent field (i.e. a section of $TM$), then $\nabla_X s$ is another section of $E$. Morally, it's $s$ differentiated in the direction of $X$.

So what could $\nabla s$ be? More or less the same thing, but not yet evaluated. This object contains the information about derivatives of $s$ in all directions. It's defined as $(\nabla s)(X) := \nabla_X s$.

Now $\nabla s$ is a $C^\infty(M)$-linear function of $X$, it can be identified with a section of $E \otimes T^*M$. Now we're at the starting point - $\nabla s$ is a section of some vector bundle, and we want to define the covariant derivative $\nabla_X(\nabla s)$ as a section of the same bundle.

This part is already explained in Deane's answer, so let me just add a few words.

Imagine you want second derivatives of $s$, say, in directions $X$ and $Y$. You could consider $\nabla_X (\nabla_Y s)$, but that's just wrong. Please take time to contemplate the most basic example below.

For a moment, consider $s \colon \mathbb{R}^n \to \mathbb{R}$. Computing the directional derivative of the directional derivative $\nabla_X (\nabla_Y s)$, you should see that the derivatives of $Y$ pop out. That's not how the Hessian should work, right?

In short, $\nabla_X (\nabla_Y s)$ contains some information about derivatives of $Y$. This manifests itself in the lack of $C^\infty(M)$-linearity - we have $\nabla_{fX} (\nabla_Y s) = f \cdot \nabla_X (\nabla_Y s)$ but not $\nabla_{X} (\nabla_{fY} s) = f \cdot \nabla_X (\nabla_Y s)$ (if $f$ is a smooth function). Thus, we define $\nabla (\nabla s)(X,Y)$ by subtracting the derivatives of $Y$: $$ \nabla_X (\nabla s) (Y) := \nabla_X (\nabla s (Y)) - (\nabla s) (\nabla_X Y). $$ One can check that the above is $C^\infty(M)$-linear in $Y$, so $\nabla_X (\nabla s)$ is a well-defined section of $E \otimes T^* M$. I've written it this way to emphasize that the same could be done for any section of $E \otimes T^* M$, not just $\nabla s$. But in our case it could be written differently: $$ \nabla_X (\nabla s) (Y) := \nabla_X (\nabla_Y s) - \nabla_{\nabla_X Y} s. $$ Please take time to convince yourself that it's the same thing.

And again, since this is $C^\infty(M)$-linear in $X$, it defines a section $\nabla\nabla s$ (or $\nabla^2 s$) of $E \otimes T^*M \otimes T^*M$.

In the same way one defines $\nabla^3 s = \nabla \nabla \nabla s$: $$ \nabla^3 s (X,Y,Z) = (\nabla_X \nabla^2 s)(Y,Z) = \nabla_X (\nabla^2 s (Y,Z)) - \nabla^2 s(\nabla_X Y, Z) - \nabla^2 s(Y, \nabla_X Z). $$

  • $\begingroup$ Wow, thanks so much for this! I'll give it a deep read and get back to you very soon :) $\endgroup$ Sep 28, 2021 at 6:15

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.