Dual Vector Space

Given a vector space V, we define V as the space of linear mappings from V to R (linear forms). Given a basis {ei} in V, we call the set {ei} the dual basis, where the ei are forms satisfying:

ei(ej)=δij(Kronecker delta).

No natural isomorphism

At a first glance, there is no natural isomorphism between V and V. But if we have in V an inner product g, we automatically do have a natural isomorphism from V into V:

T(v)=g(,v)

And reciprocally: given an isomorphism we recover a bilinear form (not necessarily an inner product), which is non degenerated. Given ϕ:VV we can define

b:V×VR

by means of b(v1,v2)=ϕ(v1)(v2).

But you can argue that we have a natural isomorphism: the one which sends ei to ei. But it is needed to fix a basis. In this case, the bilinear for associated is the one with matrix (1001) in the basis {ei}.
So in a vector space is equivalent:

  1. Fixing a basis
  2. Fixing an non degenerated bilinear form.
  3. Fixing an isomorphism with its dual, with conditions.

Moreover, the original inner product induces another on V. This can be seen "by hand" or by considering that, just as there is a correspondence between inner products on V and isomorphisms from V to V, there is also a correspondence between inner products on V and isomorphisms from V to V. But since V=V, the sequence is as follows: the inner product g induces the isomorphism T, and because T1 is also an isomorphism, it induces an inner product g on V.

Moreover, the inner products g and g are inverse, in the sense that for a vector v

g(g(v,),)=v

In Penrose abstract index notation we would have:

gabgbc=δac

Covariant components of a vector

Let v=iviei. It is clear that it has a correspondent vV such that v=ig(v,ei)ei. We write vi=g(v,ei) and call it the covariant components of v, while vi are the contravariant ones. Since g has an inverse, we can recover the contravariant components from the covariant ones: vi=g(v,ei). Using the matrix form of g=(gij) and g=(gij) respect to the chosen basis we would write

iviei=ijgijvjei=ijgijg(v,ej)ei

and so

vi=jgijg(v,ej)

Compare with the usual orthogonal case vi=g(v,ei).

Here you can compare the vis with the vis:
coordenadadual.png

This ideas, I think, can be generalized to general frames in homogeneous spaces. See general covariance and contravariance.

Claudio

The transpose as the pullback on the dual. Given a linear map F:VW with matrix A in bases {ei} (of V) and {fj} (of W), the pullback F:WV, Fω=ωF, has matrix At w.r.t. the dual bases {ei}, {fj}: indeed

(Ffj)(ei)=fj(Fei)=fj(kAkifk)=Aji.

So the pullback acts on coordinates with the transpose: ω=jηjfj is sent to i(jAjiηj)ei, i.e. the new coordinate column is Atη.

Warning: transpose is not inverse. The pullback dualizes V into V; it does not reverse the map. At=A1 holds only when A is orthogonal w.r.t. the pairing (rotations!). For a shear P=(1101), Pt=(1011)P1=(1101).

Passive reading. For a change of basis b2=Tb1 with matrix P, the pullback of the coordinate change reads as the coordinate change itself: (Tω)(ui)=ω(Tui)=ω(vi), so Tω 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 J=y/x, covector coordinates by ηy=ηxx/y (row), whose row-to-column switch is (x/y)t — the transpose of line 19.