In most of my posts that discuss the SymPy diffgeom module I do not try to make a distinction between a tensor and a tensor field, as it is usually obvious from the context. However, it would be nice to spell it out at least once.

I have two favorite ways to define a tensor/tensor field: either as an object with a representation (in the form of a multidimensional array) that transforms in a precise way when one switches from one basis to another, or instead as (sum of) tensor products of some vectors and 1-forms (i.e. an element of some tensor product of the vector space and its dual).

In Terms of Transformation Rules

With regard to the first definition, Wikipedia has this to say:

A tensor of type (n, m−n) is an assignment of a multidimensional array $ T^{i_1\dots i_n}{i\dots i_m}[\mathbf{f}] $ to each basis $ f = (e_1,…,e_N) $ such that, if we apply the change of basis $ \mathbf{f}\mapsto \mathbf{f}\cdot R = \left( R_1^i \mathbf{e}i, \dots, R_N^i\mathbf{e}_i\right) $ then the multidimensional array obeys the transformation law $ T^{i_1\dots i_n}\dots i_m}[\mathbf{f}\cdot R] = (R^{-1})^{i_1}{j_1}\cdots(R^{-1})^{i_n} R^{j_{n+1}}{i}\cdots R^{j_{m}}{i}T^{j_1,\ldots,j_n}{j,\ldots,j_m}[\mathbf{f}] $.

A tensor field then is a way to map a tensor to each point of a manifold (the tensor is wrt the tangent space at that point).

When we switch from tensors to tensor fields a new object becomes important: the coordinate system. Before proceeding, one must know what a manifold and a tangent space mean. Then we can illuminate the relation between what one calls a “basis” when speaking about tensors and the “coordinate system” in the context of tensor fields. Firstly, a coordinate system gives a way to continuously map a tuple of numbers to a point on the manifold. This continuous map is what physicist love to work with (Cartesian or polar coordinates for instance). The nice thing is that each coordinate system brings with itself a canonical basis for each point of the manifold.

What can be confusing, is that the basis can change from point to point. For example, one can take the \( R^2\) manifold that has \( R^2\) as its tangent space. Take for instance two points \( (x=1, y=0)\) and \( (x=0, y=1)\). The basis vectors in the Cartesian coordinate system are the same for both points: \( (e_x, e_y)\). However in the polar coordinate system the basis vectors for the first point are \( (e_x, e_y)\) and \( (e_y, -e_x)\) for the second point.

Anyway, the only thing that changes in the definition, is that the change-of-basis matrix mentioned above now depends on the coordinate systems.

$ \hat{T}^{i_1\dots i_n}{i\dots i_m}(\bar{x}1,\ldots,\bar{x}_k) =
\frac{\partial \bar{x}^{i_1}}{\partial x^{j_1}}
\frac{\partial \bar{x}^{i_n}}{\partial x^{j_n}}
\frac{\partial x^{j
}}{\partial \bar{x}^{i_{n+1}}}
\frac{\partial x^{j_m}}{\partial \bar{x}^{i_m}}
T^{j_1\dots j_n}{j\dots j_m}(x_1,\ldots,x_k) $

In Terms of Tensor Products

I prefer this definition, as it relies on the geometrical meaning of vectors and forms. According to Wikipedia, one can express it as:

A type (n, m) tensor T is defined as a map $ T: \underbrace{ V^ \times\dots\times V^}{n \text{ copies}} \times \underbrace{ V \times\dots\times V}} \rightarrow \mathbf{R} $, where V is a vector space and V* is the corresponding dual space of covectors, which is linear in each of its arguments.

One can again try to translate this to the case of tensor fields. The straightforward way is just to say that this map is parametrized, thus it depends on which point on the manifold it is evaluated.

However, a more “geometrical” approach would be to keep the part about “a tensor field is the sum of tensor products of vector fields and 1-form fields” but define vector fields and 1-form fields “geometrically”. Vector fields become differential operators over the manifold instead of maps to elements of the tangent space and 1-forms are defined in terms of differentials instead of duals of vectors.

The Magic

The magic is that this parametrization in terms of tuples of real numbers (a coordinate system) brings automatically a canonical basis and and the transformation matrix for change of basis. Hence defining a coordinate system provides a basis for free. Otherwise the generalization of the first definition would have been clumsier.