When I was learning about Continuum Mechanics for the first time, the covariance
and contravariance of vectors confused the hell out of me. The concepts gain
meaning in the context of Riemannian Geometry, but it was surprising to find
that one doesn’t need to learn an entire subject to grasp the logic behind
co-/contravariance. An intermediate knowledge of linear algebra is enough—that
is, one has to be acquainted with the concept of vector spaces and one-forms.
The duality of co-/contravariance arises when one has to define vectors in terms
of a non-orthonormal basis. The reason such terminology doesn’t show up
in engineering education is that Cartesian coordinates are enough for most
engineering problems. But every now and then, a complex problem with funky
geometrical requirements show up, like one that requires measuring distances and
areas on non-flat surfaces. Then you end up with dual vector spaces. I’ll try to
give the basics of duality below.
Definition: Let V be a finite-dimensional real vector space.
The space V∗=L(V,R),
defined as the
the space of all one-forms α:V→R, is called the
dual space to V.
Let B={e1,…,en} be a basis of V. Any vector v∈V can be written
in terms of B as
v=a1e1+⋯+anen(1)
with the components a1,…,an∈R.
For any i=1,…,n, we can define the i-th component ai by a one-form as
ei:={Vv→R↦ei(v)=ai(2)
These elements are linear and thus are in the space
L(V,R)1.
Given any basis B={e1,…,en}, we call B∗={e1,…,en}
the basis of V∗dual to B.
The fact that B∗ really is a basis of V∗ can be proved
by showing that ei are linearly independent.
Then v has the following
representation
v=e1(v)e1+⋯+en(v)en.(3)
Instead of ai, it is practical to denote the components of v as vi,
lightface of the same symbol with a raised index corresponding to
the raised index of the dual basis:
v=v1e1+⋯+vnenandvi=ei(v).(4)
In fact, this convention is more compatible with
the symmetry caused by the duality.
This point will be more clear after the introduction of
dual basis representation of one-forms.
Proposition: Each ei∈L(V,R) can be identified by its action on the basis
B:
ei(ej)={10if i=jotherwise.(5)
Proof: For any v∈V, ei(v) must give vi, the
i-th component of v.
Setting v=ej, one sees that
ei(v)=vi=1 when i=j, and is zero otherwise.
Geometrically, (5) implies that a basis vector is
perpendicular to all the dual basis vectors, except its own dual.
Dual Basis Representation of One-Forms
Let α be a one form in V∗ with the corresponding
dual basis {e1,…,en}. Then similar to a vector,
α has the following representation
Notation:
Let V be a finite-dimensional real vector space.
For v∈V and α∈V∗
⟨⋅,⋅⟩:={V×V∗(v,α)→R↦α(v)(9)
denotes the action of α on v, and is called
a natural pairing or dual pairing
between a vector space and its dual.
It is of the essence to understand that ⟨⋅,⋅⟩ does not
denote an inner product in V; that is,
⟨v,α⟩ means α(v).
Using the convention that ei are column vectors and
ei are row vectors,
(11) can be rearranged in the following manner
[e1e2⋯en]−1=e1e2⋮en(12)
which can be used to compute a dual basis.
Example: Given a two-dimensional vector space V with a basis
e1=[2,−0.5]T, e2=[1,1]T, we use
(12) to compute
[2−0.511]−1=[0.40.2−0.40.8](13)
and obtain the dual basis vectors as
e1=[0.4,−0.4] and e2=[0.2,0.8].
The result is given in the
following figure,
where one can see that e1⊥e2, e1⊥e2.
A body B embedded in R2 with curvilinear coordinates.
Every point P at X has an associated two-dimensional vector space,
called B's tangent space at X, denoted TXB. The basis
ei corresponding to coordinates θi are not necessarily
orthogonal and can admit corresponding duals ei, due to
curvilinearity.
The coordinates appear to be affine at the point's immediate vicinity,
and thus in the tangent space.
The introduction of the dual space
allows us to reinterpret a one-form α
as an object residing in the dual space. In fact,
the canonical dualityV∗∗=V
states that every vector v can be interpreted as a functional
on the space V∗ via
v:={V∗α→R↦v(α) or ⟨v,α⟩(14)
Despite being denoted with bold letters, one-forms should not be confused with vectors. ↩