I have recently started learning about tensors during my course on Special Relativity. I am struggling to gain an intuitive idea for invariant, contravariant and covariant quantities. In my book, invariant quantities are described as being those physical quantities associated with a point in space e.g. temperature at point P. Thus, when changing coordinate system, the value associated with the point is unchanged: you may represent the point by a different set of coordinates, but on locating the point in the new coordinates, the temperature value will still be the same. Here comes my struggle: the archetypical example of a covariant quantity is the gradient vector. Is it not the case that we require it to transform between coordinate systems in a way that preserves the vector associated with each point? Thus, in a way, the gradient vector is an invariant quantity? Why then are many derivations in my course driven by the fact that physical quantities like Action, Lagrangians etc should be "Lorentz invariant"?
When we say that a vector is invariant, we mean that the vector does not change under a change of coordinate systems. This does not mean that the components of this vector are invariant, however. It is to the components of Tensors that the terms contra-variant and co-variant apply.
Consider a vector $v=(1,0,0)$, that is, a vector of unit length pointing along the $x$-axis. It has components $v_x=1$, $v_y=0$, and $v_z=0$.
Now apply a coordinate transformation, such that we rotate our point of view by 90 degrees about the $z$-axis. In our new coordinate system, our vector has a new representation: $v'=(0,-1,0)$. While the vector itself is unchanged, the vector components are not. In this new frame, $v'_x=0$, $v'_y=-1$, and $v'_z=0$.