Abstract index notation

Abstract index notation (also referred to as slot-naming index notation) is a mathematical notation for tensors and spinors that uses indices to indicate their types, rather than their components in a particular basis. The indices are mere placeholders, not related to any basis and, in particular, are non-numerical. Thus it should not be confused with the Ricci calculus. The notation was introduced by Roger Penrose as a way to use the formal aspects of the Einstein summation convention to compensate for the difficulty in describing contractions and covariant differentiation in modern abstract tensor notation, while preserving the explicit covariance of the expressions involved.

Let $$V$$ be a vector space, and $$V^*$$ its dual space. Consider, for example, an order-2 covariant tensor $$h \in V^*\otimes V^*$$. Then $$h$$ can be identified with a bilinear form on $$V$$. In other words, it is a function of two arguments in $$V$$ which can be represented as a pair of slots:
 * $$h = h(-,-).$$

Abstract index notation is merely a labelling of the slots with Latin letters, which have no significance apart from their designation as labels of the slots (i.e., they are non-numerical):
 * $$h = h_{ab}.$$

A tensor contraction (or trace) between two tensors is represented by the repetition of an index label, where one label is contravariant (an upper index corresponding to the factor $$V$$) and one label is covariant (a lower index corresponding to the factor $$V^*$$). Thus, for instance,
 * $$t_{ab}{}^b$$

is the trace of a tensor $$t = t_{ab}{}^c$$ over its last two slots. This manner of representing tensor contractions by repeated indices is formally similar to the Einstein summation convention. However, as the indices are non-numerical, it does not imply summation: rather it corresponds to the abstract basis-independent trace operation (or natural pairing) between tensor factors of type $$V$$ and those of type $$V^*$$.

Abstract indices and tensor spaces
A general homogeneous tensor is an element of a tensor product of copies of $$V$$ and $$V^*$$, such as


 * $$V \otimes V^* \otimes V^* \otimes V \otimes V^*.$$

Label each factor in this tensor product with a Latin letter in a raised position for each contravariant $$V$$ factor, and in a lowered position for each covariant $$V^*$$ position. In this way, write the product as
 * $$V^a V_b V_c V^d V_e$$

or, simply
 * $$V^a{}_{bc}{}^d{}_e.$$

The last two expressions denote the same object as the first. Tensors of this type are denoted using similar notation, for example:
 * $$h^a{}_{bc}{}^d{}_e \in V^a{}_{bc}{}^d{}_e = V \otimes V^* \otimes V^* \otimes V \otimes V^*.$$

Contraction
In general, whenever one contravariant and one covariant factor occur in a tensor product of spaces, there is an associated contraction (or trace) map. For instance,
 * $$\mathrm{Tr}_{12} : V \otimes V^* \otimes V^* \otimes V \otimes V^* \to V^* \otimes V \otimes V^*$$

is the trace on the first two spaces of the tensor product.$$\mathrm{Tr}_{15} : V \otimes V^* \otimes V^* \otimes V \otimes V^* \to V^* \otimes V^* \otimes V$$is the trace on the first and last space.

These trace operations are signified on tensors by the repetition of an index. Thus the first trace map is given by
 * $$\mathrm{Tr}_{12} : h{}^a{}_b{}_c{}^d{}_e \mapsto h{}^a{}_a{}_c{}^d{}_e$$

and the second by
 * $$\mathrm{Tr}_{15} : h{}^a{}_b{}_c{}^d{}_e \mapsto h{}^a{}_b{}_c{}^d{}_a.$$

Braiding
To any tensor product on a single vector space, there are associated braiding maps. For example, the braiding map
 * $$ \tau_{(12)} : V \otimes V \rightarrow V \otimes V$$

interchanges the two tensor factors (so that its action on simple tensors is given by $$\tau_{(12)} (v \otimes w) = w \otimes v$$). In general, the braiding maps are in one-to-one correspondence with elements of the symmetric group, acting by permuting the tensor factors. Here, we use $$\tau_\sigma$$ to denote the braiding map associated to the permutation $$\sigma$$ (represented as a product of disjoint cyclic permutations).

Braiding maps are important in differential geometry, for instance, in order to express the Bianchi identity. Here let $$R$$ denote the Riemann tensor, regarded as a tensor in $$V^* \otimes V^* \otimes V^* \otimes V$$. The first Bianchi identity then asserts that
 * $$R + \tau_{(123)}R + \tau_{(132)}R = 0.$$

Abstract index notation handles braiding as follows. On a particular tensor product, an ordering of the abstract indices is fixed (usually this is a lexicographic ordering). The braid is then represented in notation by permuting the labels of the indices. Thus, for instance, with the Riemann tensor
 * $$R = R_{abc}{}^d \in V_{abc}{}^d = V^* \otimes V^* \otimes V^* \otimes V,$$

the Bianchi identity becomes
 * $$R_{abc}{}^d + R_{cab}{}^d + R_{bca}{}^d = 0.$$

Antisymmetrization and symmetrization
A general tensor may be antisymmetrized or symmetrized, and there is according notation.

We demonstrate the notation by example. Let's antisymmetrize the type-(0,3) tensor $$\omega_{abc}$$, where $$\mathrm{S}_3$$ is the symmetric group on three elements.
 * $$\omega_{[abc]} := \frac{1}{3!} \sum_{\sigma \in \mathrm{S}_3} (-1)^{\text{sgn}(\sigma)} \omega_{\sigma(a)\sigma(b)\sigma(c)}$$

Similarly, we may symmetrize:
 * $$\omega_{(abc)} := \frac{1}{3!} \sum_{\sigma \in \mathrm{S}_3} \omega_{\sigma(a)\sigma(b)\sigma(c)}$$