Tensors

Following Schutz, A First Course in General Relativity; Fleich, Vectors and Tensors

Series contents

Gregorio Ricci Curbastro Gregorio Ricci-Cubastro

1. Tensors

Time for tensors! Scary word! But honestly, despite their infamy, they really aren’t that bad. The hardest part is starting out. So far we have two objects. Vectors, with an upper index, eating covectors. Covectors, with a lower index, eating vectors. Both transform, and they transform inversely, so the pairing \(\omega_\mu X^\mu\) is chart-independent. And the obvious thing to do next is build machines with more slots. That's all a tensor is! The index notation makes it easy to see and work with.

A tensor of type \((r,s)\) at a point \(p\) is a map

\[ T : \underbrace{T_p^*M \times \cdots \times T_p^*M}_{r} \times \underbrace{T_pM \times \cdots \times T_pM}_{s} \to \mathbb{R} \tag{1} \]

that is linear in every argument. It eats \(r\) covectors and \(s\) vectors and returns a number. Multilinearity is the only condition, so

\[ T(\ldots, aX + bY, \ldots) = a\,T(\ldots, X, \ldots) + b\,T(\ldots, Y, \ldots) \tag{2} \]

for each slot in turn. And we see they become generalizations of what we’ve already worked with: a vector eats one covector, so it's type \((1,0)\). A covector eats one vector, type \((0,1)\). A scalar eats nothing, type \((0,0)\). A contravariant metric eats two vectors, type \((0,2)\).

1.1 Components

Feed a tensor basis elements and you get its components:

\[ T^{\mu_1 \ldots \mu_r}{}_{\nu_1 \ldots \nu_s} = T\left( dx^{\mu_1}, \ldots, dx^{\mu_r}, \partial_{\nu_1}, \ldots, \partial_{\nu_s} \right) \tag{3} \]

Upper indices come from covector slots, lower from vector slots. Multilinearity means the components determine everything. Take a \((0,2)\) tensor and expand its arguments:

\[ T(X, Y) = T(X^\mu \partial_\mu, Y^\nu \partial_\nu) = X^\mu Y^\nu T(\partial_\mu, \partial_\nu) = T_{\mu\nu} X^\mu Y^\nu \tag{4} \]

Pulling the components out of both slots is legitimate since the map is linear in each. So a tensor in \(n\) dimensions is an array of \(n^{r+s}\) numbers, and evaluating it is contracting that array against the components of the inputs.

1.2 How they transform

The transformation law is straightforward. Upper indices get \(\partial\tilde{x}/\partial x\), lower indices get \(\partial x/\partial\tilde{x}\). For a \((1,1)\) tensor,

\[ \tilde{T}^{\alpha}{}_{\beta} = \frac{\partial \tilde{x}^\alpha}{\partial x^\mu} \frac{\partial x^\nu}{\partial \tilde{x}^\beta} T^{\mu}{}_{\nu} \tag{5} \]

and in general one Jacobian per index. This is what "transforms like a tensor" means. This is the definition, not a property tensors happen to have. An array of numbers indexed by \(\mu\) and \(\nu\) is not a tensor. It's a tensor if and only if changing charts changes those numbers according to that rule. Because there are exceptions! We will get to them. Linearity is also nicely useful. If every component of a tensor vanishes in one chart, then every component vanishes in every chart, because each new component is a sum of old ones multiplied by Jacobian factors, and zero times anything is zero. So

\[ T = 0 \text{ in one chart} \implies T = 0 \text{ in all charts} \tag{6} \]

which is why tensor equations are used in physics. Set \(A^{\mu\nu} = B^{\mu\nu}\), and if it holds anywhere it holds everywhere, since \(A - B\) is a tensor that vanishes.

1.3 Building them

Let’s build some tensors! How do we do that? There are two main operations involved with tensors: The tensor product. Given \(S\) of type \((r_1, s_1)\) and \(T\) of type \((r_2, s_2)\), define \(S \otimes T\) by handing the first arguments to \(S\) and the rest to \(T\). In components it's just multiplication:

\[ (S \otimes T)^{\mu\nu} = S^\mu T^\nu \tag{7} \]

for two vectors, and analogously otherwise. This builds bigger tensors from smaller ones, and it means the products \(\partial_\mu \otimes \partial_\nu\), \(dx^\mu \otimes dx^\nu\) and so on form a basis for each type.

Contraction. Given a tensor with at least one upper and one lower index, sum them:

\[ T^{\mu}{}_{\mu} \tag{8} \]

This lowers the type by \((1,1)\). The reason it produces a tensor rather than nonsense is the Jacobian cancellation from last post, the two factors meet as

\[ \frac{\partial \tilde{x}^\alpha}{\partial x^\mu} \frac{\partial x^\nu}{\partial \tilde{x}^\alpha} = \frac{\partial x^\nu}{\partial x^\mu} = \delta^\nu_\mu \tag{9} \]

and collapse. Contracting two upper indices does not work, because you'd get two Jacobians the same way up with nothing to cancel against, and the result would depend on the chart. I like to think of this as the equivalent of a generalized trace, but I am not too sure if that is mathematically correct to say.

1.4 Symmetry

A tensor , like a matrix, can have symmetry and antisymmetry. \(T\) is symmetric if \(T_{\mu\nu} = T_{\nu\mu}\), and antisymmetric if it flips sign, \(T_{\mu\nu} = -T_{\nu\mu}\). These properties are chart-independent, which isn't obvious but the proof is short. Suppose \(T_{\mu\nu} = T_{\nu\mu}\) and transform:

\[ \tilde{T}_{\alpha\beta} = \frac{\partial x^\mu}{\partial \tilde{x}^\alpha} \frac{\partial x^\nu}{\partial \tilde{x}^\beta} T_{\mu\nu} \tag{10} \]

Swap \(\alpha\) and \(\beta\) on the left, relabel the dummy indices \(\mu \leftrightarrow \nu\) on the right, and use the symmetry of \(T\), and you get the same expression. Same for antisymmetry. Any \((0,2)\) tensor splits uniquely into the two:

\[ T_{\mu\nu} = \underbrace{\tfrac{1}{2}\left(T_{\mu\nu} + T_{\nu\mu}\right)}_{\text{symmetric}} + \underbrace{\tfrac{1}{2}\left(T_{\mu\nu} - T_{\nu\mu}\right)}_{\text{antisymmetric}} \tag{11} \]

and both halves are chart-independent. The metric will turn out to be symmetric; the antisymmetric ones are the differential forms, which get their own posts. Also, contract something symmetric against something antisymmetric:

\[ S^{\mu\nu} A_{\mu\nu} = 0 \tag{12} \]

Nice! Here’s the proof: relabel the dummies, then use both symmetries. \(S^{\mu\nu}A_{\mu\nu} = S^{\nu\mu}A_{\nu\mu} = S^{\mu\nu}(-A_{\mu\nu})\), so the quantity equals its own negative.

1.5 An example with two slots

Take the sphere in stereographic coordinates. Using the round metric, which we'll derive properly later, the components are

\[ g_{\mu\nu} = \frac{4}{(1 + u^2 + v^2)^2} \begin{pmatrix} 1 & 0 \\\\ 0 & 1 \end{pmatrix} \tag{13} \]

Give it two copies of \(\partial_u\):

\[ g(\partial_u, \partial_u) = g_{uu} = \frac{4}{(1+u^2+v^2)^2} \tag{14} \]

This is the squared length of the coordinate basis vector, and it depends on where you are. Near the origin (the south pole) it's about 4. Far out, where we approach the north pole, it goes to zero. The coordinate vector \(\partial_u\) has a length that shrinks as the chart stretches, which is the projection distorting distances even though the sphere is perfectly uniform.

1.6 Two warnings!

As mentioned earlier, not every indexed array is a tensor. The Christoffel symbols have three indices and are not a tensor! They take on an inhomogeneous term under a change of chart, which is why they can be made to vanish at any chosen point. That's a later post though. The partial derivative of a tensor is not a tensor. Differentiate the transformation law and the product rule hits the Jacobians, producing second-derivative terms that shouldn't be there. For this, we need something called a connection. But we still can't do is measure anything! Nothing so far assigns a length to a vector or an angle between two of them. So, we construct the metric.