As far as I understand, if a contravariant vector transforms in the form:
$$\vec{x}'=A\vec{x}.$$ (Where $A$ is the transformation matrix)
Then the covariant vectors shall transform as

Now, If I write $A_{uv}={A^u}_v$; where 1st indice denotes row and 2nd one denotes column; we can write the contravariant vector transformation as: $${x'}^u={A^u}_vx^v;$$ similarly for the covector: $$w'_u={{((A^{-1})^T})^u}_vw_v$$

Now; ${{((A^{-1})^T})^u}_v={{(A^{-1})}_v}^u$ ; then

But most places that I check has this transformation as:

Where am I going wrong? I am trying to learn tensors from a booklet by Kees Dullemond & Kasper Peeters "Introduction to Tensor Calculus".https://www.ita.uni-heidelberg.de/~dullemond/lectures/tensor/tensor.pdf - This is the booklet and I'm confused with page 13.

Edit: @gandalf61 thanks a lot for your help. I took some examples again and now I understand if you write $$x'^u={A^u}_vx^v$$ ; for the same transformation you must write $$w'_u={A^v}_ux_v$$; where $x$ is a vector and $w$ is a covector. The main problem I think was the booklet's statement that $$({A^u}_v)^T = {A_v}^u$$ Rather it should be $$({A^u}_v)^T = {A^v}_u$$Maybe this isn't a typo in the book as they keep transposing matrices in the same way multiple times after this; but it doesn't make sense to me. With the correct way to transpose the matrix; my derivation does give the correct result.

  • $\begingroup$ There are no such things as "contravariant vectors" and "covariant vectors". Only vectors and covectors. In addition, going between change-of-basis and change-of-components matrices, there will be a transpose involved. $\endgroup$ Mar 16 at 12:11
  • $\begingroup$ @SSsaha Just want to point out that the contravariant/covariant system of terminology is older, but with well established meaning in physics. I am not yet forty, however, my professors were old guys nearly retired, and that is the manner in which they spoke. The usage has been falling out of favor for some time in favor of terminology more in line with modern treatments of Riemannian geometry. $\endgroup$ Mar 16 at 15:01

1 Answer 1


If our index values are, for example, $u=0, v=1$ then for any matrix $B$ we have


In other words, the element in row $0$ column $1$ of $B^T$ is the element in row $1$ column $0$ of $B$. So instead of


you should have


A useful rule of thumb is that a contracting index (i.e. an index that is summed over in the Einstein summation convention) should appear once in the upper position and once in the lower position, and a non-contracting index should appear in the same position(upper or lower) on both sides of an equation. This tells us that


cannot be correct since the contracting index $v$ appears twice in the lower position, and the non-contracting index $u$ appears in the lower position on the left hand side but in the upper position on the right hand side.

  • $\begingroup$ I'm sorry but the booklet specifically states that if $A :: {A^u}_v$ then $A^T :: {A_v}^u$ . It also uses this same convention in further stuff down the line. After this statement they say that "With this convention the transformation rules for vectors resp. covectors become - ${x'}^u={A^u}_vx^v;$ and $w'_u={{((A^{-1})^T})_u}^vw_v={{(A^{-1})}^v}_uw_v.$ ". $\endgroup$
    – SSsaha
    Mar 16 at 14:33
  • $\begingroup$ I wanna ask just that putting dummy index in the superscript is just convention or some proper reason behind? $\endgroup$ Mar 16 at 14:45
  • 1
    $\begingroup$ @SSsaha Equation 2.22 from the booklet is fine. But in your question you have written $w'_u={{((A^{-1})^T})^u}_vw_v$ which is incorrect. $\endgroup$
    – gandalf61
    Mar 16 at 15:57
  • $\begingroup$ From this what I understand is; if x is a vector; we have $x'=Ax => x'^u={A^u}_vx^v$; and if y is a covector; we have $y'=By => y'_u={B_u}^vy_v$. Why do we write the matrices differently for the two ? $\endgroup$
    – SSsaha
    Mar 17 at 5:12
  • $\begingroup$ @SSsaha Because they are acting as different types of matrices. $A$ is a vector $A^u$ whose entries are covectors, so contracting it with a vector gives a vector of scalars (which is just a vector). $B$ is a covector $B_u$ whose entries are vectors so contracting it with a covector gives a covector of scalars i.e. a covector. $\endgroup$
    – gandalf61
    Mar 17 at 7:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.