JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Dual Spaces, Contraction, and the Tensor Bookkeeping

The dual space $V^*$ is where covectors live, and pairing a vector with a covector is the simplest contraction. We set up the dual basis, define a tensor of type $(p,q)$, and learn contraction as the trace-like operation that fuses an upper and a lower index. By the end you can read the index notation physicists use and know exactly what it abbreviates.

The dual space and its basis

The dual space $V^* = \operatorname{Hom}(V, R)$ is the module of linear functionals on $V$ — its elements eat a vector and return a scalar. If $V$ is finite-dimensional with basis $(e_1, \ldots, e_n)$, the dual basis $(e^1, \ldots, e^n)$ is defined by $e^i(e_j) = \delta^i_j$ (the Kronecker delta: $1$ if $i = j$, else $0$). So $e^i$ ‘reads off the $i$-th coordinate.’ Then $\dim V^* = \dim V$, and there is a canonical isomorphism $V \cong V^{}$ — but not** a canonical $V \cong V^*$ without extra structure such as a bilinear form.

Tensors of type $(p,q)$ and contraction

A tensor of type $(p,q)$ on $V$ is an element of $\;\underbrace{V \otimes \cdots \otimes V}_{p} \otimes \underbrace{V^* \otimes \cdots \otimes V^*}_{q}$ — $p$ contravariant (upper) slots and $q$ covariant (lower) slots. Type $(1,0)$ is a vector, $(0,1)$ a covector, $(1,1)$ a linear endomorphism (a matrix), and $(0,2)$ a bilinear form. Contraction is the linear map that pairs one upper slot with one lower slot via the evaluation $V \otimes V^* \to R$, $v \otimes \alpha \mapsto \alpha(v)$, dropping the type from $(p,q)$ to $(p-1, q-1)$.

Contraction = trace, made concrete.  A type-(1,1) tensor is
    T = sum_{i,j} T^i_j  (e_i (x) e^j)   in   V (x) V^*.
Contracting the upper slot against the lower slot:
    C(T) = sum_{i,j} T^i_j . e^j(e_i)
         = sum_{i,j} T^i_j . delta^j_i
         = sum_i T^i_i  =  trace(T).         <- the diagonal sum!

So 'contract the two indices of a (1,1) tensor' IS 'take the trace.'
Basis-independence of trace is now obvious: contraction was defined
without reference to any basis (it is the canonical map V (x) V* -> R).

Einstein summation, decoded.  Writing  alpha_i v^i  with an implied sum
over the repeated index i is exactly the contraction
    V* (x) V -> R,   alpha (x) v |-> alpha(v) = sum_i alpha_i v^i.
A repeated upper/lower index pair always means 'contract here.'
Contracting a $(1,1)$ tensor recovers the trace; this makes basis-independence of trace transparent. Einstein’s repeated-index convention is just shorthand for contraction.

What you can now read

With dual basis, type, and contraction in hand, index notation stops being mysterious. A matrix product $C^i_k = \sum_j A^i_j B^j_k$ is contraction of a $(1,1)$ with a $(1,1)$ along one index pair; the transpose swaps which slot is which; the determinant is the totally antisymmetric contraction $\det A = \frac{1}{n!}\,\varepsilon_{i_1\cdots i_n}\varepsilon^{j_1\cdots j_n} A^{i_1}_{j_1}\cdots A^{i_n}_{j_n}$ — exactly the top-exterior-power story of guide 4, written in coordinates.