Given a vector space , we define as the space of linear mappings from to (linear forms). Given a basis in , we call the set the dual basis, where the are forms satisfying:
No natural isomorphism
At a first glance, there is no natural isomorphism between and . But if we have in an inner product, we automatically do have a natural isomorphism from into :
And reciprocally: given an isomorphism we recover a bilinear form (not necessarily an inner product), which is non degenerated. Given we can define
by means of
But you can argue that we have a natural isomorphism: the one which sends to . But it is needed to fix a basis. In this case, the bilinear for associated is the one with matrix in the basis .
So in a vector space is equivalent:
Fixing a basis
Fixing an non degenerated bilinear form.
Fixing an isomorphism with its dual, with conditions.
Moreover, the original inner product induces another on . This can be seen "by hand" or by considering that, just as there is a correspondence between inner products on and isomorphisms from to , there is also a correspondence between inner products on and isomorphisms from to . But since , the sequence is as follows: the inner product induces the isomorphism , and because is also an isomorphism, it induces an inner product on .
Moreover, the inner products and are inverse, in the sense that for a vector
Let . It is clear that it has a correspondent such that . We write and call it the covariant components of , while are the contravariant ones. Since has an inverse, we can recover the contravariant components from the covariant ones: . Using the matrix form of and respect to the chosen basis we would write
The transpose as the pullback on the dual. Given a linear map with matrix in bases (of ) and (of ), the pullback , , has matrix w.r.t. the dual bases , : indeed
So the pullback acts on coordinates with the transpose: is sent to , i.e. the new coordinate column is .
Warning: transpose is not inverse. The pullback dualizes into ; it does not reverse the map. holds only when is orthogonal w.r.t. the pairing (rotations!). For a shear , .
Passive reading. For a change of basis with matrix , the pullback of the coordinate change reads as the coordinate change itself: , so expressed in the old dual basis has exactly the coordinates gets in the new one — covectors are covariant, see the Claudio annotation in covariance and contravariance in linear algebra.
On manifolds this is the Jacobian story of covariance and contravariance on manifolds: vector coordinates convert by , covector coordinates by (row), whose row-to-column switch is — the transpose of line 19.