WHAT is the problem? A vector 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}. If the basis vectors are not orthonormal (different lengths, not at 90°), there is genuine ambiguity in "how much of e1 is in v".
WHY ambiguity? Two reasonable rules:
Parallelogram rule — slide along the axes to reach the tip. These coefficients vi are the contravariant components, written with an upper index:
v=v1e1+v2e2=viei
Orthogonal-projection rule — drop a perpendicular onto each axis and take the dot product. These give the covariant components vi (lower index):
vi=v⋅ei
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, and we already know v as a sum of ej's — so substitute.
vi=v⋅ei=(vjej)⋅ei=vj(ej⋅ei)
The quantity ei⋅ej appears naturally. Name it:
WHY is gij the identity when orthonormal? Then ei⋅ej=δij, so vi=vi. The whole distinction collapses. That's your sanity check.
WHAT object do covariant components multiply? There is a second basis {ei}, the dual basis, defined by:
ei⋅ej=δji
i.e. e1 is perpendicular to e2 and scaled so e1⋅e1=1. Then the same vector has two clean expansions:
v=viei=viei
So covariant components are just contravariant components with respect to the dual basis. Beautiful symmetry.
Basis vectors transform with A. For v to stay the same arrow, its contravariant components must transform with the inverseA−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.
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.
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 vi (upar index). Doosra: vector ka perpendicular shadow har axis pe daalo, yaani dot product v⋅ei — yeh hain covariant components vi (neeche index). Orthonormal basis me dono same nikalte hain, isiliye school me kisi ne bataya hi nahi.
Inke beech translator hota hai metric tensorgij=ei⋅ej. Yeh matrix basis ki saari geometry (lengths, angles) store karta hai. Index ko neeche laana ho to vi=gijvj, upar le jaana ho to inverse metric se vi=gijvj. Bas yaad rakho: lower karne ke liye gij, raise karne ke liye gij.
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 — vivi. Agar tum dono upar wale jod doge vivi, 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 (A−1), aur "co" ka matlab basis ke saath (A). Naam se hi unka behaviour pata chal jaata hai — yeh tensor calculus ka asli dil hai.