4.10.8Advanced Topics (Elite Level)

Covariant and contravariant components

1,817 words8 min readdifficulty · medium

WHY do we even need two kinds of components?

WHAT is the problem? A vector v\mathbf{v} is a real geometric arrow — it doesn't care about coordinates. But numbers describing it only exist relative to a chosen basis {e1,e2}\{\mathbf e_1, \mathbf e_2\}. If the basis vectors are not orthonormal (different lengths, not at 90°90°), there is genuine ambiguity in "how much of e1\mathbf e_1 is in v\mathbf v".

WHY ambiguity? Two reasonable rules:

  1. Parallelogram rule — slide along the axes to reach the tip. These coefficients viv^i are the contravariant components, written with an upper index: v=v1e1+v2e2=viei\mathbf v = v^1 \mathbf e_1 + v^2 \mathbf e_2 = v^i \mathbf e_i
  2. Orthogonal-projection rule — drop a perpendicular onto each axis and take the dot product. These give the covariant components viv_i (lower index): vi=veiv_i = \mathbf v \cdot \mathbf e_i

Start from the definition of covariant components and plug in the contravariant expansion. Why this step? Because covariant components are defined by dotting with ei\mathbf e_i, and we already know v\mathbf v as a sum of ej\mathbf e_j's — so substitute.

vi=vei=(vjej)ei=vj(ejei)v_i = \mathbf v \cdot \mathbf e_i = (v^j \mathbf e_j)\cdot \mathbf e_i = v^j\,(\mathbf e_j \cdot \mathbf e_i)

The quantity eiej\mathbf e_i\cdot\mathbf e_j appears naturally. Name it:

WHY is gijg_{ij} the identity when orthonormal? Then eiej=δij\mathbf e_i\cdot\mathbf e_j = \delta_{ij}, so vi=viv_i = v^i. The whole distinction collapses. That's your sanity check.

The dual (reciprocal) basis — the deep reason for "covariant"

WHAT object do covariant components multiply? There is a second basis {ei}\{\mathbf e^i\}, the dual basis, defined by: eiej=δji\mathbf e^i \cdot \mathbf e_j = \delta^i_j i.e. e1\mathbf e^1 is perpendicular to e2\mathbf e_2 and scaled so e1e1=1\mathbf e^1\cdot\mathbf e_1=1. Then the same vector has two clean expansions: v=viei=viei\mathbf v = v^i\mathbf e_i = v_i \mathbf e^i So covariant components are just contravariant components with respect to the dual basis. Beautiful symmetry.

Figure — Covariant and contravariant components

WHY the names "co-" and "contra-"? (transformation law)

Change basis eie~i=Ajiej\mathbf e_i \to \tilde{\mathbf e}_i = A^j{}_i\,\mathbf e_j.

Basis vectors transform with AA. For v\mathbf v to stay the same arrow, its contravariant components must transform with the inverse A1A^{-1} — they go against (contra) the basis change. Meanwhile covariant components transform with (co) the basis, like the basis vectors do. That naming is the entire point of tensor calculus.


Worked examples


Common mistakes (steel-manned)


Recall Feynman: explain to a 12-year-old

Imagine drawing a vector on stretchy, slanted graph paper instead of normal square paper. To describe your arrow you can either say "walk this far along the slanted lines" (contravariant) or "how much shadow does the arrow cast straight down onto each line" (covariant). On normal square paper both answers are the same. On slanted paper they're different — so we keep two sets of numbers, and a little table called the metric translates between them.


Flashcards

Contravariant components viv^i are defined as
the coefficients in the parallel (parallelogram) expansion v=viei\mathbf v = v^i\mathbf e_i; index up.
Covariant components viv_i are defined as
the orthogonal projections vi=veiv_i=\mathbf v\cdot\mathbf e_i; index down.
The metric tensor gijg_{ij} is defined as
eiej\mathbf e_i\cdot\mathbf e_j — it encodes all lengths and angles of the basis.
Formula to lower an index
vi=gijvjv_i = g_{ij}v^j.
Formula to raise an index
vi=gijvjv^i = g^{ij}v_j, where gijg^{ij} is the inverse metric.
When do covariant and contravariant components coincide?
When the basis is orthonormal, since then gij=δijg_{ij}=\delta_{ij}.
The dual basis ei\mathbf e^i satisfies
eiej=δji\mathbf e^i\cdot\mathbf e_j=\delta^i_j; covariant components are coefficients in this basis.
Invariant squared length of v\mathbf v
v2=vivi=gijvivj|\mathbf v|^2 = v^iv_i = g_{ij}v^iv^j (must pair up with down).
Under basis change with matrix AA, contravariant components transform with
A1A^{-1} (against the basis — "contra").
Why is the gradient naturally covariant?
if=f/xi\partial_i f=\partial f/\partial x^i carries a lower index; raising needs gijg^{ij}.

Connections

  • Metric tensor
  • Dual (reciprocal) basis
  • Tensors and index notation
  • Change of basis and transformation laws
  • Inner product spaces
  • Curvilinear coordinates (polar, spherical)
  • General relativity — raising and lowering indices

Concept Map

needs numbers via

parallel projection

perpendicular projection

v = v^i e_i

v_i = v dot e_i

g_ij = e_i dot e_j

lowers index v_i = g_ij v^j

raises index v^i = g^ij v_j

inverse of

e^i dot e_j = delta

makes g_ij = identity

forces v_i = v^i

Vector v geometric arrow

Basis e_i skewed non-orthonormal

Contravariant v^i upper index

Covariant v_i lower index

Metric tensor g_ij

Inverse metric g^ij

Dual basis e^i

Orthonormal basis

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, normal square graph paper pe to koi tension nahi — ek vector ke components nikalo, sab clear. Lekin jab basis skewed ho (axes 90° pe nahi, ya alag-alag length ke), tab ek hi vector ko padhne ke do tareeke ban jaate hain. Pehla: axes ke parallel chal ke tip tak pahuncho — yeh hain contravariant components viv^i (upar index). Doosra: vector ka perpendicular shadow har axis pe daalo, yaani dot product vei\mathbf v\cdot\mathbf e_i — yeh hain covariant components viv_i (neeche index). Orthonormal basis me dono same nikalte hain, isiliye school me kisi ne bataya hi nahi.

Inke beech translator hota hai metric tensor gij=eiejg_{ij}=\mathbf e_i\cdot\mathbf e_j. Yeh matrix basis ki saari geometry (lengths, angles) store karta hai. Index ko neeche laana ho to vi=gijvjv_i=g_{ij}v^j, upar le jaana ho to inverse metric se vi=gijvjv^i=g^{ij}v_j. Bas yaad rakho: lower karne ke liye gijg_{ij}, raise karne ke liye gijg^{ij}.

Sabse important practical baat: jab bhi koi invariant (jo coordinates pe depend na kare) banana ho, jaise length, to ek upar wala index ek neeche wale se contract karo — viviv^iv_i. Agar tum dono upar wale jod doge viviv^iv^i, to galat answer aayega kyunki tum chupke se metric ko identity maan rahe ho. Yahi gravity (General Relativity) aur curved coordinates me sab kuch chalata hai.

"Contra" ka matlab basis ke against transform hona (A1A^{-1}), aur "co" ka matlab basis ke saath (AA). Naam se hi unka behaviour pata chal jaata hai — yeh tensor calculus ka asli dil hai.

Go deeper — visual, from zero

Test yourself — Advanced Topics (Elite Level)

Connections