Penrose graphical notation

In mathematics and physics, Penrose graphical notation or tensor diagram notation is a (usually handwritten) visual depiction of multilinear functions or tensors proposed by Roger Penrose in 1971. A diagram in the notation consists of several shapes linked together by lines. The notation has been studied extensively by Predrag Cvitanović, who used it to classify the classical Lie groups. It has also been generalized using representation theory to spin networks in physics, and with the presence of matrix groups to trace diagrams in linear algebra. The notation widely appears in modern quantum theory, particularly in matrix product states and quantum circuits.
Interpretations.
Multilinear algebra.
In the language of multilinear algebra, each shape represents a multilinear function. The lines attached to shapes represent the inputs or outputs of a function, and attaching shapes together in some way is essentially the composition of functions.
Tensors.
In the language of tensor algebra, a particular tensor is associated with a particular shape with many lines projecting upwards and downwards, corresponding to abstract upper and lower indices of tensors respectively. Connecting lines between two shapes corresponds to contraction of indices. One advantage of this notation is that one does not have to invent new letters for new indices. This notation is also explicitly basis-independent.
Matrices.
Each shape represents a matrix, and tensor multiplication is done horizontally, and matrix multiplication is done vertically.
Representation of special tensors.
Metric tensor.
The metric tensor is represented by a U-shaped loop or an upside-down U-shaped loop, depending on the type of tensor that is used.
Levi-Civita tensor.
The Levi-Civita antisymmetric tensor is represented by a thick horizontal bar with sticks pointing downwards or upwards, depending on the type of tensor that is used.
Structure constant.
The structure constants (formula_1) of a Lie algebra are represented by a small triangle with one line pointing upwards and two lines pointing downwards.
Tensor operations.
Contraction of indices.
Contraction of indices is represented by joining the index lines together.
Symmetrization.
Symmetrization of indices is represented by a thick zig-zag or wavy bar crossing the index lines horizontally.
Antisymmetrization.
Antisymmetrization of indices is represented by a thick straight line crossing the index lines horizontally.
Determinant.
The determinant is formed by applying antisymmetrization to the indices.
Covariant derivative.
The covariant derivative (formula_2) is represented by a circle around the tensor(s) to be differentiated and a line joined from the circle pointing downwards to represent the lower index of the derivative.
Tensor manipulation.
The diagrammatic notation is useful in manipulating tensor algebra. It usually involves a few simple "identities" of tensor manipulations.
For example, formula_3, where "n" is the number of dimensions, is a common "identity".
Riemann curvature tensor.
The Ricci and Bianchi identities given in terms of the Riemann curvature tensor illustrate the power of the notation
Extensions.
The notation has been extended with support for spinors and twistors.