Vector field that is the gradient of a function on Riemannian manifold

differential-geometryriemannian-geometrysmooth-manifoldsVector Fields

Let $(M, g)$ be a Riemannian manifold.
Let $f\in\mathcal{C}^\infty(M)$ and let $X\in\mathfrak{X}(M)$ such that $X$ vanish nowhere.
I want to show that if $|X|_g^2 = Xf$ and if $X$ is orthogonal to every level sets of regular values then $X = \operatorname{grad} f$.

I don't know how to start. The only thing I can show is that $X$ is orthogonal to $X-\operatorname{grad} f$ which is straightforward.

Best Answer

It's been a while, so sorry if this may be a bit too complicated:

One characterization of $\nabla f$ (which I use for the gradient of $f$) is that

$$g(Y,\nabla f)= df(Y) = Yf$$ for every $Y\in TM$.

If you assume now $Xf = |X|_g^2 = g(X,X)$, you get \begin{equation}\tag{*} \quad g(X, \nabla f) = g(X,X) \end{equation} Since $f$ is constant on it's level sets, for every curve $c:(-\varepsilon, \varepsilon) \rightarrow f^{-1}(c)$ the function $g(t) = f(c(t))$ is constant. Every tangent vector $Y = c^\prime(0)$ to the level set $f^{-1}(c) $ can be written that way. Then

$$0 = g^\prime(0) = df(c(0))c^\prime(0)= Yf|_{c(0)} = g(Y, \nabla f)|_{c(0)}$$ Since $Y$ is an arbitrary tangent vector to the level set, this implies that the gradient of $f$ is orthogonal to the level sets. Since you know by assumption that $X$ is also normal to the level sets, $\nabla f$ is a multiple of $X$, i.e. $\nabla f = \lambda X$. Now with $(*)$ you get $\lambda \equiv 1$