index notation
When you write a vector as a bold letter v you are hiding its insides; index notation pulls the insides into the open by naming the components. Instead of v you write v^i, which stands for the i-th component as i runs over 1, 2, ..., n. A matrix becomes A^i_j or A_{ij}, a higher object grows more indices. The whole game of tensor calculus is played by manipulating these indexed symbols according to a few strict rules, and once you internalize the rules the algebra of curved space becomes almost mechanical.
Three ideas make the notation work. First, the position of an index matters: an upper index marks a contravariant slot, a lower index a covariant slot, and the two transform oppositely under a change of coordinates. Second, free indices versus dummy indices: a free index appears once per term and must match across an equation (every term has the same free indices in the same up/down positions), while a dummy index appears as an up-down pair and is summed away by the Einstein convention. Third, special symbols glue everything together — the Kronecker delta delta^i_j (1 if i = j, else 0) that renames or contracts indices, and the Levi-Civita symbol epsilon_{ijk} that encodes cross products and determinants. A quick sanity check on any tensor equation is index balance: the free indices on the left must exactly match the free indices on the right.
Index notation is the lingua franca of relativity, fluid and solid mechanics, and electromagnetism in covariant form, because it is coordinate-explicit yet coordinate-independent in meaning: the same indexed equation holds in every coordinate system once you agree how the indices transform. Its one danger is that the notation is so compact it can hide errors; the discipline of checking that every term has matching free indices, and that summed pairs are one-up-one-down, is what keeps you honest. It pairs naturally with the abstract, index-free view of a tensor, which it makes concrete and computable.
The cross product c = a cross b reads in index notation as c^i = epsilon^{ijk} a_j b_k. Here i is the only free index (it labels the three components of c), while j and k are each summed pairs. The matrix product (A B)^i_k = A^i_j B^j_k shows the same pattern: j is summed (the contracted middle index), i and k are free and survive.
Free indices label the output's components; summed pairs are the contractions doing the work.
Index notation makes equations component-explicit, but the components are not the geometric object — they depend on the coordinate frame. A statement is only a valid tensor equation if it holds with the same form in every frame, which is exactly what matching free indices guarantees.