I encountered the following in reading about covariant and contravariant:

In those discussions, you may see words to the effect that covariant components transform in the same way as basis vectors (“co” ≈ “with”), and contravariant components transform in the opposite way to basis vectors (“contra” ≈ “against”). As you’ll see later in this chapter, there’s plenty of truth in that description, but there’s also a major pitfall. That’s because the “transformation” of basis vectors usually refers to the conversion of the basis vectors in the original (non-rotated) coordinate system to the different basis vectors which point along the coordinate axes in the new (rotated) system, whereas the “transformation” of vector components refers to the change in the components of the same vector referred to two different sets of coordinate axes.

Later on it shows the following:

$$\begin{pmatrix} \text{Components of} \\ \text{same vector} \\ \text{in new system} \end{pmatrix} = \begin{pmatrix} \text{Inverse} \\ \text{transformation} \\ \text{matrix} \end{pmatrix} \begin{pmatrix} \text{Components of} \\ \text{vector in} \\ \text{original system} \end{pmatrix}$$

$$\begin{pmatrix} \text{New basis} \\ \text{vectors} \end{pmatrix} = \begin{pmatrix} \text{Direct} \\ \text{transformation} \\ \text{matrix} \end{pmatrix} \begin{pmatrix} \text{Original basis} \\ \text{vectors}\end{pmatrix}$$

These confuse me because from change of basis we have $B'= BP$ and $[v]_{B'}=P[v]_B$. The $[v]_{B'}=P[v]_B$ is the first of the aforementioned equations. But the second of them I don't understand since the book as shown above has the direct transformation matrix on the left side and not the right side. We could write $B'= BP = (BPB^{-1})B$ but if $BPB^{-1}$ is the direct transformation matrix then the $P$ in $[v]_{B'}=P[v]_B$ does not make sense as the inverse transformation matrix as the inverse of $BPB^{-1}$ is not $P$.

So then later on when I read the following:

you can combine superscripted (contravariant) components with subscripted (covariant) basis vectors

I don't know how to reconcile it with what I already know about change of basis.

  • $\begingroup$ here juanmarqz.wordpress.com/2012/02/16/… there is a little example that wrote, it might help $\endgroup$
    – janmarqz
    Dec 15, 2014 at 19:44
  • $\begingroup$ I found this while learning about bases, dual bases and the components that go with each: If you have to memorize which is which, you're doing something wrong. $\endgroup$ Dec 23, 2014 at 13:05
  • $\begingroup$ at math.ethz.ch (which is at Zurich) this notes are state-of-the-art for Bachelors, you'll find a very good exposition of the matters: math.ethz.ch/education/bachelor/lectures/fs2014/other/mla/… $\endgroup$
    – janmarqz
    Dec 23, 2014 at 14:02
  • $\begingroup$ @user_of_math: then, what is the main not-to-be-lost's trick? :D $\endgroup$
    – janmarqz
    Dec 23, 2014 at 14:09
  • $\begingroup$ @user782220: hey! man don't let the +50 be lost!! $\endgroup$
    – janmarqz
    Dec 24, 2014 at 20:42

4 Answers 4


To understand, WLOG let's take a basis change given by $$b_1={B^1}_1e_1+{B^2}_1e_2$$ $$b_2={B^1}_1e_1+{B^2}_2e_2$$ where $\{e_1,e_2\}$ is an old basis and $\{b_1,b_2\}$ is the new. Relation which can be succintily expressed as $b_i={B^s}_ie_s$ (here we see how bases covariate ).

Agree that the matrix of such data is $$[B]=\begin{bmatrix} {B^1}_1, {B^1}_2\\ {B^2}_1, {B^2}_2\\ \end{bmatrix}$$ Then, to get the new components of a vector $v=v^1e_1+v^2e_2$, you will see that $$v_b=[B]^{-1}v_e,$$ (here we see how components contravariate ), $v_e$ is a column arrange from the old components; $v_b$ is the data on the new components of the very same vector $v$.

Unfolded is $$ \begin{bmatrix} w^1\\ w^2\\ \end{bmatrix} \ =\ \begin{bmatrix} {B^1}_1, {B^1}_2\\ {B^2}_1, {B^2}_2\\ \end{bmatrix}^{-1} \begin{bmatrix} v^1\\ v^2\\ \end{bmatrix}$$ such that $v=w^1b_1+w^2b_2$ in the new basis.

Take an explicit example to illuminate even more: Let $$b_1=e_1+2e_2,$$ $$b_2=e_1+3e_2,$$ be a basis change. Its change-of-basis matrix is $[B]= \begin{bmatrix} 1& 1\\ 2&3\\ \end{bmatrix} $.

Now solving for $e_i$ we get $$e_1=3b_1-b_2,$$ $$e_2=-2b_1+b_2.$$ Which substitution on $v$ gives: $$v=v^1(3b_1-b_2)+v^2(-2b_1+b_2).$$ This simplifies into $$v=(3v^1-2v^2)b_1+(-v^1+v^2)b_2.$$

Now follow with your eyes the $[B]^{-1}v_e$ product: $$ \begin{bmatrix} 3&-1\\ -2&1\\ \end{bmatrix} \begin{bmatrix} v^1\\ v^2\\ \end{bmatrix} = \begin{bmatrix} 3v^1-v^2\\ -2v^1+v^2\\ \end{bmatrix}. $$

  • $\begingroup$ the steps are solve-substitute-simplify $\endgroup$
    – janmarqz
    Dec 21, 2014 at 17:47
  • $\begingroup$ Cf. math.stackexchange.com/questions/1074985/… $\endgroup$
    – janmarqz
    Dec 21, 2014 at 18:37
  • $\begingroup$ @user782220: the issue of covariant components are better addressed once you consider duality of vector spaces or the use of reciprocal basis $\endgroup$
    – janmarqz
    Dec 22, 2014 at 16:37
  • $\begingroup$ Actually shouldn't the P you have written be actually it's transpose. The components of the old basis vectors are written in new basis vectors andd are place in a column. Then the covriant matrix is just inverse trasnpose of contravariant matrix. Or the basis transformation matrix writing in this way just a convention. Kindly let me know this. $\endgroup$
    – Shashaank
    Sep 23, 2020 at 17:00
  • $\begingroup$ What $P$ @Shashaank ? $\endgroup$
    – janmarqz
    Sep 23, 2020 at 17:32

Let me try to explain using a "foreign" vector space other than $\mathbb{R}^3$, such as the space of polynomials of degree $\leq 2$. Of course, all finite-dimensional real vector spaces of the same dimension are isomorphic, but hopefully this will eliminate some of the confusion that arises when everything in sight is $\mathbb{R}^3$.

So let's say I have a basis $B$ for these polynomials, say $\{1, x, x^2\}$. I can write any random element of my vector space, like $3x^2+2x+1$, as a linear combination of those basis elements: $1\cdot 1 + 2\cdot x + 3\cdot x^2$, so I might represent that polynomial as the vector $(1,2,3)$ in that basis.

Suppose I have a second basis $B'$ for these polynomials; let's say $\{x+1, x-1, x^2-1\}$. There are now two kinds of transformations relating $B$ to $B'$ I might be interested in.

  1. How do I express the new basis vectors as linear combinations of the old? In other words, what is the matrix $P$ with $$\left[\begin{array}{ccc}x+1&x-1&x^2-1\end{array}\right] = \left[\begin{array}{ccc}1&x&x^2\end{array}\right]P?$$ In this case it is $$P=\left[\begin{array}{ccc}1 & -1 & -1\\1 & 1 & 0\\0 & 0 & 1\end{array}\right].$$ Notice that the components of $B$ and $B'$ are different polynomials. There is no relationship between the components of $B$ and $B'$ other than the fact that both bases span the whole space.

  2. Given a vector in basis $B$, how do I write the same vector in basis $B'$? For instance, for the example of $3x^2 + 2x+1$ we saw that I could write it as $(1,2,3)$ in $B$. The same polynomial is $(3,-1,3)$ in the basis $B'$. And the two are related by $$\left[\begin{array}{c}3\\-1\\3\end{array}\right] = P^{-1}\left[\begin{array}{c}1\\2\\3\end{array}\right]$$ This can be seen to work in general by first converting the component vector $v$ into the full polynomial $Bv$, the using the relationship $B' = BP$ to get that that polynomial can also be written as $B'P^{-1}v$ and so the coefficients of the polynomial in the basis $B'$ are $P^{-1}v$.

The two key points are that a) in transformation 1, the objects being transformed are basis polynomials, while in transformation 2, the objects are vectors of real coefficients, and b) that in transformation 2, the old coefficients and new coefficients represent the same polynomial, written in a new way. Compare to transformation 1, where the first basis polynomial of $B$ is not the same polynomial as the first basis polynomial of $B'$.

By the way: the language of covariant/contravariant vectors is too entrenched in physics to go anywhere unfortunately, but if you pick up a good book on Riemannian geometry and read at least the first few chapters up through the discussion of tangent space, cotangent space, and the musical isomorphisms, it may give you a new perspective on what is going on with all those upper/lower indices.

  • $\begingroup$ In the book it shows the direct transformation matrix on the left hand side whereas here you have it on the right side. That is what is confusing me. $\endgroup$
    – user782220
    Dec 18, 2014 at 5:55
  • $\begingroup$ The text you've reproduced has some textual descriptions but no equations or examples, so it's hard to tell exactly what the author intends; you can certainly transpose everything to get $P^T$ on the left if you'd like. $\endgroup$
    – user7530
    Dec 18, 2014 at 6:25
  • $\begingroup$ i wouldn't say "unfortunately" for the entrencheing of Physics and Maths :D $\endgroup$
    – janmarqz
    Dec 18, 2014 at 21:08
  • $\begingroup$ @janmarqz Certainly not! I was referring specifically to the "covariant" and "contravariant" formalism. $\endgroup$
    – user7530
    Dec 18, 2014 at 23:21
  • $\begingroup$ ok, unfortunate is the situation where someone isn't aware of the existence of "duality" at rank one tensors. $\endgroup$
    – janmarqz
    Dec 18, 2014 at 23:42

I tracked down the book: A Student's Guide to Vectors and Tensors by Daniel Fleisch. In the section "Basis-vector transformations", which is the source of the equation $$\begin{pmatrix} \text{New basis} \\ \text{vectors} \end{pmatrix} = \begin{pmatrix} \text{Direct} \\ \text{transformation} \\ \text{matrix} \end{pmatrix} \begin{pmatrix} \text{Original basis} \\ \text{vectors}\end{pmatrix}, \tag{1}$$ the author "derives" $(1)$ by considering the more concrete situation of rotating vectors in the plane. All of the example equations take the following form: If $v'$ is the result of rotating $v$ counterclockwise through an angle $\alpha$, then their $x$- and $y$-components are related by the matrix equation $$ \begin{pmatrix} v'_x \\ v'_y\end{pmatrix} = \begin{pmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{pmatrix} \begin{pmatrix} v_x \\ v_y\end{pmatrix}. $$ This generalizes to $$[v']_{B^\star} = Q(B^\star)[v]_{B^\star}, \tag{2}$$ where $B^\star$ is an arbitrary basis of the vector space. $Q(B^\star)$ is a matrix which appears to depend on the choice of $B^\star$: It can be shown that $Q(B) = P$ (one approach is to follow the commutative diagrams I produced for the previous revision of this answer), and then that $Q(B^\star)$ is related to $P$ by a similarity transformation. Even intuitively, we shouldn't expect $Q(B^\star)$ to be equal to $P$ in general: Equation $(2)$ expresses (the components of) each new basis vector as a function of (the components of) one corresponding original basis vector, while $B' = BP$ expresses each new basis vector as some linear combination of all original basis vectors.

Applying $(2)$ to the components of the basis vectors, we obtain $$[B']_{B^\star} = Q(B^\star)[B]_{B^\star}, \tag{3}$$ which certainly looks similar to $(1)$. The major disrepancies that I perceive are

  1. $Q(B^\star)$ is where you expected $P$ to be, and
  2. The matrix $Q(B^\star)$ is acting on a matrix of components (an element of $\mathbb F^{n \times n}$), not on an ordered list of elements of the vector space itself (an element of $V^n$).

Discrepancy 1 is explained by the fact that the author seems to assume that $B^\star = B$; note that when he he "derives" $(1)$, he only considers the case in two dimensions where the basis vectors have components $(1,0)^\top$ and $(0,1)^\top$. As I noted before, $Q(B^\star)$ becomes $P$ when $B^\star = B$.

Discrepancy 2, on the other hand, can't really be reconciled. As can be seen from $B'=BP$, elements of $V^n$ are considered to be row hypervectors. Dimensional considerations thus forbid the left multiplication of elements of $V^n$ by matrices.

So I believe $(1)$ is badly phrased. In light of $(3)$, it should instead say something like $$\begin{pmatrix} \text{Components} \\ \text{of new} \\ \text{basis vectors} \end{pmatrix} = \begin{pmatrix} \text{Matrix similar to} \\ \text{direct transformation} \\ \text{matrix} \end{pmatrix} \begin{pmatrix} \text{Components} \\ \text{of original} \\ \text{basis vectors}\end{pmatrix}. \tag{$1'$}$$ If we assume that $B^\star = B$, then $(1')$ becomes $$\begin{pmatrix} \text{Components} \\ \text{of new} \\ \text{basis vectors} \end{pmatrix} = \begin{pmatrix} \text{Direct} \\ \text{transformation} \\ \text{matrix} \end{pmatrix} \cdot I = \begin{pmatrix} \text{Direct} \\ \text{transformation} \\ \text{matrix} \end{pmatrix}.$$ Neither of these equations conflict with $B' = BP$.


Let $V$ be generated by the collection of basic vectors $\{{\mathbf{b}}_1,{\mathbf{b}}_2,...,{\mathbf{b}}_n\}$. Without the use of dual-spaces people used to explain the effect in the components $a^s$ of a vector $${\mathbf{a}}=a^s{\mathbf{b}}_s,$$ in this way:

Let's $V\stackrel{B}\dashrightarrow V$ indicate a basis-change on $V$.

An important base-change in an $n$-dimensional-inner-product-vector-space $(V,\langle\ ,\rangle)$ is the ``take the reciprocal basis". This is constructed as follows:

The Gram matrix for basis $\{\mathbf{b}_1,...,\mathbf{b}_n\}$ is $G=[g_{ij}]$, where
$g_{ij}=\langle\mathbf{b}_i,\mathbf{b}_j\rangle$ are the metric coefficients.

Since the $\{\mathbf{b}_i$ are linearly independent then $G$ is non-singular, and then $G^{-1}$ exists. We symbolize as $G^{-1}=[g^{ij}]$. As one has got $1\!1=GG^{-1}$, this implies $g_{is}g^{sj}=\delta_i^j$.

Let's define a reciprocal base-vector as $$\mathbf{b}^k=g^{sk}\mathbf{b}_s. \qquad (1)$$

The collection $\{\mathbf{b}^1,...,\mathbf{b}^n\}$ will be a basis-change $$V\stackrel{G^{-1}}\dashrightarrow V\qquad\mbox{ given by}\qquad \mathbf{b}_k\dashrightarrow \mathbf{b}^k,$$ because $G^{-1}$ is a non-singular matrix.

Then we are going to call covariant components of a vector $\mathbf{a}\in V$ the scalars $a_k$ intervening in $$\mathbf{a}=a_s\mathbf{b}^s.$$

By the use of $(1)$ above we will get $$a_k=g_{ks}a^s.\qquad (2)$$

Here one can see that meanwhile $\mathbf{b}_k$ and $\mathbf{b}^k$ covariate with $G^{-1}$, then $a_k$ needs $\left({G^{-1}}\right)^{-1} =G$ to variate from the old-components $a^k$ of vector $\mathbf{a}$, i.e. contravariate.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .