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 ϕ:V→V∗ we can define

b:V×V→R

by means of b(v1,v2)=ϕ(v1)(v2).
The alternating case of this correspondence is the symplectic vector space.

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 (10⋯01⋯⋯⋯⋯) 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 T−1 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 v∗∈V∗ 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=∑i∑jgijvjei=∑i∑jgijg(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:V→W with matrix A in bases {ei} (of V) and {fj} (of W), the pullback F∗:W∗→V∗, F∗ω=ω∘F, has matrix At w.r.t. the dual bases {ei}, {fj}: indeed

(F∗fj)(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=A−1 holds only when A is orthogonal w.r.t. the pairing (rotations!). For a shear P=(1101), Pt=(1011)≠P−1=(1−101).

Passive reading. For a change of basis b2=T∘b1 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=ηx⋅∂x/∂y (row), whose row-to-column switch is (∂x/∂y)t — the transpose of line 19.