Following the issue on this link, I want to know the nature of a differential function from a tensor calculus point of view.

In one of the answers, it is said that one has to use the Riesz lemma with the standard dot product for each linear functional $df(p)$, obtaining then a vector ${\rm grad}\,f(p)$ satisfying $$df(p)(v) = \langle {\rm grad}\,f(p),v\rangle,$$for all $v$

Then, taking the starting basis $\{e_{i}=\dfrac{\partial}{\partial x^{i}}\}$ and its dual basis $\{e^{i}=\text{d}x^{i}\}$, we can write the differential function $df$ and $\vec{grad}\,f$ as :

$$\begin{align} df &= \frac{\partial f}{\partial x}\,dx + \frac{\partial f}{\partial y}\,dy + \frac{\partial f}{\partial z}\, dz \\ {\rm grad}\,f &= \frac{\partial f}{\partial x}\,\frac{\partial }{\partial x} + \frac{\partial f}{\partial y}\,\frac{\partial }{\partial y} + \frac{\partial f}{\partial z}\, \frac{\partial }{\partial z}. \end{align}$$

So with vectors $e_{i}$ and $e^{i}$ :

$$\begin{align} df &= \frac{\partial f}{\partial x}\,\vec{e^1} + \frac{\partial f}{\partial y}\,\vec{e^2} + \frac{\partial f}{\partial z}\, \vec{e^3} \\ {\rm grad}\,f &= \frac{\partial f}{\partial x}\,\vec{e_1} + \frac{\partial f}{\partial y}\,\vec{e_2} + \frac{\partial f}{\partial z}\, \vec{e_3}. \end{align}$$

So, we could say that ${\rm grad}\,f$ is a classic vector (I mean no covector) and $\text{d}f$ is a co-vector (relatively to basis vectors and dual basis vectors).

My issue is about the nature of $\text{d}f$, I don't understand how the dot product between a vector $\vec{v}$ (maybe a covector with the definition of dot prouct) and the classic vector ${\rm grad}\,f$ could give a differential function under the form of a co-vector, i.e the expression :

$$df(p)(v) = \langle {\rm grad}\,f(p),v\rangle,$$

I thought that the result of a dot product between a vector (${\rm grad\,f}$) and a co-vector $\vec{v}$ is a scalar, not a co-vector.

Maybe I do confusions between the value (scalar value ???) expressed as :

$$df(p)(v) = \langle {\rm grad}\,f(p),v\rangle=$$ $$\begin{align} df(p)(v) &= \frac{\partial f}{\partial x}\,v^x + \frac{\partial f}{\partial y}\,v^y + \frac{\partial f}{\partial z}\,v^z\end{align}$$

and the expression of $df$ as a co-vector (vector expressed in dual basis $\{e^{i}=\text{d}x^{i}\}$) :

\begin{align} df &= \frac{\partial f}{\partial x}\,\vec{e^1} + \frac{\partial f}{\partial y}\,\vec{e^2} + \frac{\partial f}{\partial z}\, \vec{e^3} \end{align}

Someone could help me to understand better or give me clarifications ?


@Uldreth Your answer is very interesting, especially by your formulation :

$$\langle \text{grad}f,v\rangle=(g^{\mu\nu}\partial_\mu f)g_{\nu\kappa}v^\kappa$$

Then, as I said, this expression is equivalent to :

$$df(\vec{v})=\langle {\rm grad}\,f(p),v\rangle =\partial^\mu f v_\mu$$

because we can swap metric tensor $g_{ij}$ between the 2 equations.

I thought usually that gradient vector was considered like a covector because its components are transformed like the basis vector.

But by noting :

$${\rm grad}\,f = \frac{\partial f}{\partial x}\,\frac{\partial }{\partial x} + \frac{\partial f}{\partial y}\,\frac{\partial }{\partial y} + \frac{\partial f}{\partial z}\, \frac{\partial }{\partial z}.$$

$${\rm grad}\,f = \frac{\partial f}{\partial x}\,\vec{e_1} + \frac{\partial f}{\partial y}\,\vec{e_2} + \frac{\partial f}{\partial z}\, \vec{e_3}.$$

We can see that $\vec{e_{i}}$ are starting basis vectors (not dual basis vectors), so $\frac{\partial f}{\partial x_{i}}$ represent the contravariant components of ${\rm grad}\,f$.

But we can also consider that, with the the expression of $df(v)=\partial_\mu fv^\mu=\partial^\mu f v_\mu$, $\partial^\mu$ represents the contravariant components and $v_\mu$ covariant components.

For example, into 2D polar coordinates, for the $\theta$ component of ${\rm grad}\,f$, we have (taking $x_\theta$ like the covariant component and $x^{\theta}=\theta$ like the contravariant component).


I wonder why one says that "${\rm \overrightarrow{grad}}\,f$" is a covector (because $({\rm \overrightarrow{grad}}\,f)_{i}$ components are covariant components (relatively to $\{\vec{e_i}\}$ basis vectors since $({\rm \overrightarrow{grad}}\,f)_{i}=({\rm \overrightarrow{grad}}\,f)\cdot\vec{e_i}$) and SO contravariant components relatively to $\{e^i\}$ dual basis vectors since $({\rm \overrightarrow{grad}}\,f)=({\rm \overrightarrow{grad}}\,f)_{i}\vec{e^i}$).

Should I rather call it a "classical vector", i.e its covariant components transform in the same way that $\{e_{i}\}$ basis vectors and its contravariant components in the same way that $\{e^{i}\}$ dual basis vectors ?

By "classical vectors", I mean that I can just express this gradient vector under 2 different forms, i.e :

$$({\rm \overrightarrow{grad}}\,f)=({\rm \overrightarrow{grad}}\,f)_{i}\vec{e^i}=\partial_{i}f\vec{e^i}$$


$$({\rm \overrightarrow{grad}}\,f)=({\rm \overrightarrow{grad}}\,f)^{i}\vec{e_i}=\partial^{i}f\vec{e_i}$$


Thanks for your help.

  • 1
    $\begingroup$ Would Mathematics be a better home for this question? $\endgroup$
    – Qmechanic
    Mar 27, 2017 at 13:46
  • $\begingroup$ NB: $\mathrm{grad}\, f = \mathrm{d} f = \partial f/\partial x \,\mathrm{d} x + \partial f/\partial y\, \mathrm{d} y + \partial f/\partial z \,\mathrm{d} z$. The two expressions you have written for $\mathrm{grad}\, f $ are *not* correct. Further, note that $\partial^\mu f = g^{\mu \nu} \partial_\nu f$. That is to say, you should raise the index with the metric after taking the derivative, and not lower the index on the coordinate with which you take the derivative. As a rule, never lower an index on your coordinates, for they are not the components of a vector! $\endgroup$
    – gj255
    Apr 13, 2017 at 13:13

2 Answers 2


I'll give another approach, which is coordinate-free. Let's start with just linear algebra. Given a vector space $V$ over the field $\mathbb{K}$, we define its dual $V^\ast$ as the space of all linear functionals $f: V\to \mathbb{K}$ mapping vectors to scalars. Elements of $V^\ast$ are functions defined on $V$ taking values in $\mathbb{K}$. They are often called covectors.

Now let's tackle your situation. You are talking about differentiating functions, so we need a so-called differentiable structure given in a smooth manifold (I'll assume afterwards that the main concets of smooth manifolds are known. If you don't know what a smooth manifold is, pick a book like "Spacetime and Geometry by Sean Carroll" to get started).

To develop this, let $M$ be a smooth manifold and let $x\in M$ be a point. We can consider $T_x M$ the tangent space at $x$ being the space of all vectors at $x$. It is well known that these vectors can be properly defined either as equivalence classes of curves or as derivations on smooth functions. In the second approach, a vector $v\in T_x M$ is a mapping on smooth functions that is linear and obeys Liebnitz rule

$$v(fg)=v(f)g+fv(g), \quad \forall f,g\in C^\infty(M).$$

The intuition is that $v(f)$ is the directional derivative of $f$ in the direction of $v$. In this context, given all tangent spaces at all points of $M$ we can form the so-called tangent bundle of $M$ given by

$$TM = \bigcup_{x\in M}\{x\}\times T_xM = \{(x,v_x) : v_x\in T_xM\}$$

together with the projection $\pi : TM\to M$ which maps $\pi(x,v_x)=x$. The tuple $(TM,\pi,M)$ is what is known as a vector bundle, which intuitively is the smooth association of a vector space to each point of a smooth manifold.

The definition of $TM$ allows one to define vector fields. These are the so-called sections of the vector bundle, which are easy to define. A vector field is a mapping $X : M\to TM$ such that $\pi(X(p))=p$, in other words, given $p\in M$, $X$ associates a vector at $p$.

Now we know what are duals and every $T_xM$ is a vector space. So we define the cotangent space to $M$ at $x\in M$ to be $T^\ast_xM$ the dual space of $T_xM$, in other words, all linear functionals of vectors at $T_xM$. We can similarly define the cotangent bundle $T^\ast M$ with a similar projection $\pi^\ast$.

A covector field is then a section of $T^\ast M$ which is just a mapping $\omega : M\to T^\ast M$ such that $\pi^\ast(\omega(p))=p$.

We now come to the main defintion:

Given a smooth function $f\in C^\infty(M)$ we can define a covector field called the exterior derivative of $f$ by the following rule: for each $p\in M$ define $df(p)$ to be $df(p) : T_p M\to \mathbb{R}$


The mapping $df : M\to T^\ast M$ is a covector field.

So $df$ is exactly this: for each point, it gives you a linear functional $df(p)$ which produces the directional derivative of $f$ in the direction of the vector you feed into it. So: $df$ is a covector field, a function that for each point gives a covector, while $df(p)$ is a covector at a point, and finaly given $v\in T_p M$, we have $df(p)(v)$ a number, which is the value of the covector at the point evaluated at the particular vector $v$.

Finally, suppose $M$ has a metric tensor $g$. The metric tensor gives at each $T_p M$ one inner product $g(p) : T_pM\times T_pM\to \mathbb{R}$. This inner product establishes an isomorphism $T_pM\simeq T_p^\ast M$. Actually this isomorphism can be extended to an isomorphism between vector fields and covector fields.

The covector field associated to the vector field $X$ is $X^{\displaystyle \flat}$ defined by

$$X^{\displaystyle \flat}(p)(v)=g(p)(X(p),v).$$

As I said, the mapping $X\to X^{\displaystyle \flat}$ is bijective and called the musical isomorphism. Since this map is bijective, for each $\omega$ there is one $X$ such that $\omega = X^{\displaystyle \flat}$. The inverse of $\flat$ is denoted $\sharp$ so that if $\omega = X^{\displaystyle \flat}$ then $X = \omega^{\displaystyle \sharp}$.

Thus we make the following definition:

Let $M$ be a smooth manifold with a metric tensor $g$ and let $f\in C^\infty(M)$. We define the gradient vector field $\nabla f$ of $f$ by $\nabla f = df^{\displaystyle \sharp}$. In other words, it is the unique vector field such that $v(f)=g(p)(\nabla f(p), v)$ for every $v\in T_p M$.

EDIT: Answering the comment, $v(f)$ is the action of $v$ on $f$. It is exactly the directional derivative of $f$ along $v$. As I said at first, when you have one abstract manifold you need to decide how to define vectors at specific points. There are two routes: equivalence classes of curves that point in the same direction at said point, or as directional derivative operators. It is important to know both routes and how they are related.

The partial derivatives appear on $v$ as soon as you pick a chart $(x,U)$, i.e., a coordinate system. It has coordinate functions $x^i : U\to \mathbb{R}$ and each of them defines a vector at each point of the chart domain: you simply define $\frac{\partial}{\partial x^i}$ to act on $f$ by producing the $i$-th partial derivative at the point. According to the "directional derivative operator" definition, this is a vector at each point. Actualy one can show it is a basis, thus for every $v\in T_p M$ you can decompose it as

$$v = v^i\dfrac{\partial}{\partial x^i}\bigg|_p$$

so that the action of $v$ on $f$ is $v(f) = v^i \partial_i f(p)$. To define this you don't need any metric tensor or inner product at all, just the manifold structure!

The point is that when there is a metric tensor, you can ask yourself: is there a vector field such that $v(f)$ is $v$ dotted with it through the metric? The answer is yes and you define it as the gradient. The details are what I wrote before.

  • $\begingroup$ -@user1620696 Thanks a lot for your detailed answer. I am beginning to understand all these concepts even if it remains some difficult details to grasp. Could you take a look at my UPDATE 2 above where I ask if we can call the gradient vector as a classical vector and not a covector ? regards $\endgroup$
    – youpilat13
    Jun 1, 2017 at 18:11
  • 1
    $\begingroup$ I'm not sure I understood your update, however let me just point some things out on the matter. A contravariant vector field is what I defined as a vector field, while a covariant vector field is what I defined as a covector field. The gradient is always defined like this: it is the contravariant vector field physicaly equivalent to the exterior derivative covector field. If you compute this in the manifold $\mathbb{R}^n$, with the flat metric tensor, you have the usual expression. As a suggestion, take a look on Carroll's book and also Michael Spivak, Differential Geometry, Vol. 1. $\endgroup$
    – Gold
    Jun 1, 2017 at 19:21
  • $\begingroup$ -@user1620696. Please, could you tell me, with your notation, what represent the term v(f) and in the definition of gradient, i.e $$v(f)=g(p)(\nabla f(p), v)$$ ? is v(f) simply a dot product between f and v ? it seems to be the directional derivative but I don't see a derivatire $$\dfrac{\partial}{\partial x^{i}}$$ operator in v(f). Thanks $\endgroup$
    – youpilat13
    Jan 29, 2018 at 23:53
  • $\begingroup$ @youpilat13 I've added one edit about the matter $\endgroup$
    – Gold
    Jan 30, 2018 at 0:14
  • 1
    $\begingroup$ Sorry, I made just one notational typo on the original post. The map $X\mapsto X^{\displaystyle \flat}$ associated to every vector field its physically equivalent one-form (lowers one index). The inverse is the map $\omega\mapsto \omega^{\displaystyle \sharp}$ which for every one-form gives the physically equivalent vector field (raises one index). In that sense $\flat$ and $\sharp$ are the inverses of each other. In other words, given $X$ we have $X^\flat(Y)=g(X,Y)$. Equivalently, given $\omega$ we have $\omega^\sharp$ the unique vector field such that $\omega(Y)=g(\omega^\sharp,Y)$. $\endgroup$
    – Gold
    Feb 6, 2018 at 1:14

Well, $\langle \text{grad}f,v\rangle$ is scalar valued, and so is $df(v)$.

Remember that $df(v)$ is NOT the covector field itself, but its value on the vector field $v$.

If index notation helps, then $\langle \text{grad}f,v\rangle=(g^{\mu\nu}\partial_\mu f)g_{\nu\kappa}v^\kappa$ and $df(v)=\partial_\mu fv^\mu$.

As you can see, if you perform the contraction $g^{\mu\nu}g_{\nu\kappa}$ first, you get the second expression.

  • $\begingroup$ thanks for your help. From what I think to understand, $df$ expressed as : $$\begin{align} df &= \frac{\partial f}{\partial x}\,\vec{e^1} + \frac{\partial f}{\partial y}\,\vec{e^2} + \frac{\partial f}{\partial z}\, \vec{e^3} \end{align}$$ is a covector whereas $df(\vec{v})$ is the dot product between the covector $df$ and the classic vector (expressed as $\vec{v} =v^{i}\vec{e_i}$ and this dot product is a scalar which is equal to $df(\vec{v})=\partial_\mu fv^\mu$ and also equal to $df(\vec{v)=}\partial^\mu f v_\mu$ (by swapping with $g_{\mu\nu}$ metric), isn't it ? $\endgroup$
    – youpilat13
    Mar 27, 2017 at 21:41
  • $\begingroup$ -@Uldreth : could you take a look please at the UPDATE 1 above in my post. thanks for your help $\endgroup$
    – youpilat13
    Apr 3, 2017 at 15:34
  • $\begingroup$ Maybe this helps: df(v) is not the dot product between covector df and a classic vector v. It is df (a covector or one-form) applied on a vector v. You have $e^i (e_j) = \delta^i_j$ $\endgroup$
    – lalala
    Apr 13, 2017 at 12:01
  • 1
    $\begingroup$ @youpilat13 I must admit I don't quite understand what your problem is, but under general coordinate transforms $x^\mu$ does not transform as a vector, so using "covariant coordinates" $x_\mu$ is completely meaningless. This is far simpler: The differential of a function $f$, written as $df$, is a covector, whose components are $\partial f/\partial x^\mu$. It acts on a (contravariant) vector by taking the directional derivative of $f$ along that vector. The gradient of a function, written as say $\text{grad}(f)$ is a contravariant vector,... $\endgroup$ Apr 13, 2017 at 13:12
  • $\begingroup$ @youpilat13 ... whose components are given by $g^{\mu\nu}(\partial f/\partial x^\nu)$ and when scalar producted with a contravariant vector gives the same directional derivative. So $df(v)=\langle\text{grad}(f),v\rangle$. $\endgroup$ Apr 13, 2017 at 13:14

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.