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 formula_1 be a vector space, and formula_2 its dual space. Consider, for example, an order-2 covariant tensor formula_3. Then formula_4 can be identified with a bilinear form on formula_1. In other words, it is a function of two arguments in formula_1 which can be represented as a pair of "slots": 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): 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 formula_1) and one label is covariant (a "lower index" corresponding to the factor formula_2). Thus, for instance, is the trace of a tensor formula_12 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 formula_1 and those of type  formula_2. Abstract indices and tensor spaces. A general homogeneous tensor is an element of a tensor product of copies of formula_1 and formula_2, such as Label each factor in this tensor product with a Latin letter in a raised position for each contravariant formula_1 factor, and in a lowered position for each covariant formula_2 position. In this way, write the product as or, simply The last two expressions denote the same object as the first. Tensors of this type are denoted using similar notation, for example: 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, is the trace on the first two spaces of the tensor product. 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 and the second by Braiding. To any tensor product on a single vector space, there are associated braiding maps. For example, the braiding map interchanges the two tensor factors (so that its action on simple tensors is given by formula_28). 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 formula_29 to denote the braiding map associated to the permutation formula_30 (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 formula_31 denote the Riemann tensor, regarded as a tensor in formula_32. The first Bianchi identity then asserts that 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 the Bianchi identity becomes 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 formula_36, where formula_37 is the symmetric group on three elements. Similarly, we may symmetrize: