Does basis vectors change opposite to coordinate scaling ?

For example, suppose I have some oblique coordinate system, and I decide to scale up both 'axes' by a factor of $a$ and $b$ respectively.

The basis vectors in these coordinates - are they going to scale up, or scale down along with these axes ? Is the scaling of basis vectors directly or inversely proportional to the scaling of coordinate axes ?

I've read the following : A contravariant vector has components that "transform as the coordinates do" under changes of coordinates (and so inversely to the transformation of the reference axes), including rotation and dilation.

This part is confusing to me. Doesn't the reference axes transform as the coordinates themselves. Doesn't scaling up reference axes, scale up the coordinates, or rotating a coordinate clockwise mean rotating reference axes clockwise.

Evidently, it should be the opposite. Can someone provide me with an intuitive and visual explanation of this ?

  • $\begingroup$ $ \begin{aligned}R=\left[ \overrightarrow{e}'_{x}\cdot \overrightarrow{e}_{x},\overrightarrow{e}_{y}'\cdot \overrightarrow{e_{y}},\overrightarrow{e}_{z}'\cdot \overrightarrow{e_{z}}\right] \\ \overrightarrow{e}_{x}\rightarrow \dfrac{a\overrightarrow{e}_{x}}{a}=\overrightarrow{e}_{x}\\ \overrightarrow{e}_{x}'\rightarrow \dfrac{b\overrightarrow{e}_{x}'}{b}=\overrightarrow{e}_{x}'\\\text{ thus the transformation matrix R doesn’t change }\end{aligned}$ $\endgroup$
    – Eli
    Jun 19, 2021 at 7:21

2 Answers 2


A visual explanation is perhaps not needed, but I will explain this as intuitively as possible.

The answer to this question, is key to why we name indices and subscripts on objects like vectors, covariant and contravariant.

As you know, the actual length of vector is an invariant, and must stay the same no matter how we identify its coordinates in a particular basis. No matter where the vector is pointing, it has a certain length in space. So if we have a vector in one basis and then write it in another basis, we have to do this without changing the length of the vector.

Let's call a vector in one basis $v$, that has basis vectors $e$, and call it $v'$ in another basis, with basis vectors $e'$, so that $v'=v$ (in general $e'\ne e$). Also, we'll use subscripts ie., $e_i$ for basis vectors, and superscripts i.e., $v^j$ for coordinates.

As you may already know, a general transformation from one basis $e$ to a new basis $e'$ can be defined by $$\tag 1 e' = e T$$ where $T$ is a transformation matrix (or tensor).

We could use this same matrix to transform coordinate vectors, though we would not expect that we can use the same formula. This is because the bases and the coordinates play different roles here. That is, the basis elements are vectors which describe the coordinate system, while the actual coordinates are just scalar numbers that describe the position of the vectors.

For example, suppose I have some oblique coordinate system, and I decide to scale up both 'axes' by a factor of a and b respectively.

In general, you could write a vector $$v = v^1 e_1 + v^2 e_2 \cdots + v^n e_n$$ and consider now that we have a new basis $e'$ which we get by the multiplication of $2$ on the basis vectors $e_i$ and a multiplication of $2$ the coordinates $v_j$ as well. Then we would end up with a vector that is $4$ times its original size, which contradicts our first premise. What we should have done is multiply the $e_i$'s by $2$ but multiply $v_j$'s by the inverse of $2$, namely $\frac{1}{2}$ to get $v' = v$ which is consistent with our first premise.

So if we ever have to change the $e$’s by a factor, then the $v$’s need to be changed by the inverse factor to maintain our original premise. In other words, to transform $v$ into $v′$ in the basis $e′$ we need to instead use $$\tag 2 v' = T^{-1} v$$

The fact that basis elements change according to equation (1) while the coordinates change in the "inverse way" according to equation (2) is the also why the basis elements are named covariant and the vector coordinates are named contravariant (and also why we label the same with subscripts and superscripts). Also note that some people use opposite positions on indices.


A coordinate system is essentially a way to uniquely label points in your space by $N$-tuples of real numbers, $(x^1,\ldots,x^N)$. A choice of basis is an assignment of a set of vectors $\{\hat e_1,\ldots, \hat e_N\}$ to each point, with respect to which we can expand vector and tensor quantities in components. There's no reason that a choice of coordinate system and a choice of basis have anything to do with one another.

However, a choice of coordinates $(x^1,\ldots,x^N)$ comes with a free (as in beer) choice of basis, namely the set of basis vectors $\big\{\frac{\partial}{\partial x^1},\ldots,\frac{\partial}{\partial x^N}\big\}$. It is often convenient - especially in elementary differential geometry - to keep things simple by choosing the natural basis induced by your coordinate system. If you do this, then a change of coordinates $x^\mu\mapsto y^\mu$ induces a corresponding change of basis $\frac{\partial}{\partial x^\mu} \mapsto \frac{\partial}{\partial y^\mu}= \frac{\partial x^\alpha}{\partial y^\mu} \frac{\partial}{\partial x^\alpha}$.

If you scale your coordinates, so $y^\mu = a x^\mu$, then your coordinate-induced basis will be scaled the other way, i.e. $\frac{\partial}{\partial y^\mu} = \frac{1}{a}\frac{\partial}{\partial x^\mu}$.

Of course, having a coordinate-induced basis can sometimes be inconvenient - particularly because such bases tend not to be orthonormal. We are free (as in speech) to use any basis we choose if it's more convenient for our needs, even one which is not induced by any coordinate system at all. Of course, if you're not using the natural, coordinate-induced basis, then you'll need to be more specific about precisely which bases you'll be using before and after the coordinate transformation.

To illustrate this point more clearly, consider polar coordinates $(r,\theta)$. for the Euclidean plane. The coordinate-induced basis, given by $\big\{\frac{\partial}{\partial r},\frac{\partial}{\partial \theta}\big\}$, is not orthonormal; the metric tensor in these coordinates is given by $$g_{\mu\nu} = \pmatrix{1 & 0 \\\ 0 & r^2 }$$ which means the inner products are

$$g\left(\frac{\partial}{\partial r},\frac{\partial}{\partial r}\right)=1, \quad g\left(\frac{\partial}{\partial \theta},\frac{\partial}{\partial \theta}\right)=r^2,\quad g\left(\frac{\partial}{\partial r},\frac{\partial}{\partial \theta}\right)=g\left(\frac{\partial}{\partial \theta},\frac{\partial}{\partial r}\right)=0$$

This basis is orthogonal, but $\frac{\partial}{\partial \theta}$ is not normalized. We can choose an orthonormal basis instead, given by

$$\hat e_r = \frac{\partial}{\partial r} \qquad \hat e_\theta = \frac{1}{r}\frac{\partial}{\partial \theta}$$

If we scale our coordinates so $r\mapsto \rho=ar$, then the coordinate-induced basis changes to $\big\{\frac{\partial}{\partial \rho},\frac{\partial}{\partial \theta}\big\} = \big\{\frac{1}{a} \frac{\partial}{\partial r},\frac{\partial}{\partial \theta}\big\}$. However, if we don't want to use this coordinate-induced basis then there's no reason we have to.

In particular, if we'd like to use the orthonormal basis $\{\hat e_r,\hat e_\theta\}$ both before and after the coordinate change, then there's no reason why we can't - in which case the basis vectors won't change at all (obviously).


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.