Multilinear Algebra and Tensor Products

Multilinear Maps The Tensor Product and Its Universal Property Covariant and Contravariant Tensors Coordinate Representation

Multilinear Maps

Linear maps take a single vector argument and depend linearly on it. The constructions to come require functions of several vector arguments, depending linearly on each one separately. A covector is the one-argument case; the multi-argument generalization is the language of tensors, which organizes inner products, determinants, and brackets, and supplies the algebraic substrate for metrics and differential forms on manifolds.

Definition: Multilinear Map

Let \(V_1, \ldots, V_k\) and \(W\) be real vector spaces. A map \(F : V_1 \times \cdots \times V_k \to W\) is multilinear if it is linear in each argument separately: for each index \(i\), with the other arguments held fixed, \[ F(v_1, \ldots, a v_i + a' v_i', \ldots, v_k) = a\, F(v_1, \ldots, v_i, \ldots, v_k) + a'\, F(v_1, \ldots, v_i', \ldots, v_k) . \] A multilinear map of one argument is a linear map; a multilinear map of two arguments is called bilinear. The set of all multilinear maps \(V_1 \times \cdots \times V_k \to W\), with pointwise addition and scalar multiplication, is a real vector space, denoted \(L(V_1, \ldots, V_k; W)\).

Several constructions already in use are multilinear, a fact that the present language unifies. An inner product on a real vector space is a bilinear function of two vectors, used to measure lengths and angles. The determinant, viewed as a function of the \(n\) columns of a matrix, is a real-valued multilinear function of \(n\) vectors, vanishing exactly when they are linearly dependent. The Lie bracket of a Lie algebra is a bracket-valued bilinear function of two elements. These share no obvious feature beyond multilinearity; isolating that property is what makes a single theory possible.

The case that will matter most is \(W = \mathbb{R}\): real-valued multilinear functions. The simplest such building block is the product of two covectors, which already exhibits the pattern that the general tensor product formalizes.

Definition: Tensor Product of Covectors

Let \(V\) be a real vector space and let \(\omega, \eta \in V^*\) be covectors. Their tensor product is the bilinear function \(\omega \otimes \eta : V \times V \to \mathbb{R}\) defined by \[ \omega \otimes \eta\,(v_1, v_2) = \omega(v_1)\, \eta(v_2) , \] the product on the right being ordinary multiplication of real numbers. More generally, for covectors \(\omega^1, \ldots, \omega^k \in V^*\), the function \(\omega^1 \otimes \cdots \otimes \omega^k : V \times \cdots \times V \to \mathbb{R}\) is \[ \omega^1 \otimes \cdots \otimes \omega^k\,(v_1, \ldots, v_k) = \omega^1(v_1)\, \cdots\, \omega^k(v_k) . \]

Linearity of each covector in its single argument makes \(\omega^1 \otimes \cdots \otimes \omega^k\) linear in each \(v_i\), so it is an element of \(L(V, \ldots, V; \mathbb{R})\). The construction extends to multilinear functions on different spaces: given \(F \in L(V_1, \ldots, V_k; \mathbb{R})\) and \(G \in L(W_1, \ldots, W_l; \mathbb{R})\), their tensor product \(F \otimes G\) is the multilinear function of \(k + l\) arguments \[ F \otimes G\,(v_1, \ldots, v_k, w_1, \ldots, w_l) = F(v_1, \ldots, v_k)\, G(w_1, \ldots, w_l) . \] This operation is bilinear in \(F\) and \(G\); it is also associative, since both \((F \otimes G) \otimes H\) and \(F \otimes (G \otimes H)\) send their arguments to the same product \(F(\cdots)\, G(\cdots)\, H(\cdots)\) of real numbers, the associativity of which is inherited from multiplication in \(\mathbb{R}\). Tensor products of three or more factors may therefore be written without parentheses.

The Tensor Product and Its Universal Property

The tensor product of vector spaces has already appeared on this site, constructed through a choice of bases: given bases of \(V\) and \(W\), the space \(V \otimes W\) is the vector space whose basis is the set of formal symbols \(\mathbf{e}_i \otimes \mathbf{f}_j\), and elementary tensors are defined by bilinear expansion of their components. That construction is concrete and computational; it is the viewpoint under which a tensor is a multidimensional array and the Kronecker product is the coordinate shadow of \(\otimes\) acting on linear maps. It was deferred there that a basis-free characterization exists. This section supplies that characterization and connects it to the multilinear-function viewpoint of the previous section.

The defining feature of the tensor product is not its basis but the way bilinear (more generally, multilinear) maps factor through it. Every multilinear map out of a product \(V_1 \times \cdots \times V_k\) is the same data as a single linear map out of \(V_1 \otimes \cdots \otimes V_k\). This is the universal property, and it determines the tensor product up to a unique isomorphism, with no basis chosen.

Theorem: Characteristic Property of the Tensor Product

Let \(V_1, \ldots, V_k\) be finite-dimensional real vector spaces. There is a vector space \(V_1 \otimes \cdots \otimes V_k\) together with a multilinear map \[ \pi : V_1 \times \cdots \times V_k \to V_1 \otimes \cdots \otimes V_k , \qquad \pi(v_1, \ldots, v_k) = v_1 \otimes \cdots \otimes v_k , \] with the following property: for every real vector space \(X\) and every multilinear map \(A : V_1 \times \cdots \times V_k \to X\), there is a unique linear map \(\widetilde{A} : V_1 \otimes \cdots \otimes V_k \to X\) such that \(\widetilde{A} \circ \pi = A\). The space \(V_1 \otimes \cdots \otimes V_k\) is determined by this property up to a unique isomorphism, independently of any choice of basis.

Proof:

One constructs \(V_1 \otimes \cdots \otimes V_k\) as a quotient of the free vector space on the set \(V_1 \times \cdots \times V_k\) by the subspace generated by all the relations that force multilinearity of \(\pi\) — the differences \((v_1, \ldots, a v_i, \ldots, v_k) - a\,(v_1, \ldots, v_i, \ldots, v_k)\) and \((v_1, \ldots, v_i + v_i', \ldots, v_k) - (v_1, \ldots, v_i, \ldots, v_k) - (v_1, \ldots, v_i', \ldots, v_k)\). Writing \(v_1 \otimes \cdots \otimes v_k\) for the class of \((v_1, \ldots, v_k)\), the map \(\pi\) is multilinear by construction.

Given a multilinear \(A : V_1 \times \cdots \times V_k \to X\), the characteristic property of the free vector space extends \(A\) to a unique linear map on the free space; multilinearity of \(A\) means precisely that this linear map kills the relation subspace, so it descends to a unique linear map \(\widetilde{A}\) on the quotient with \(\widetilde{A} \circ \pi = A\). Uniqueness of \(\widetilde{A}\) holds because the elements \(v_1 \otimes \cdots \otimes v_k\) span the quotient and \(\widetilde{A}\) is determined on them by \(\widetilde{A}(v_1 \otimes \cdots \otimes v_k) = A(v_1, \ldots, v_k)\). Any two spaces with the stated property receive, from each other's universal maps, mutually inverse linear maps, so the tensor product is unique up to a unique isomorphism.

The same quotient construction, applied with a chosen basis, recovers exactly the basis description used earlier: the classes \(\mathbf{e}_i \otimes \mathbf{f}_j\) form a basis of the quotient, and the dimension is the product of the dimensions. The basis construction and the universal property therefore describe one and the same space, the former convenient for computation, the latter for coordinate-free reasoning.

Two viewpoints on one space

The multilinear-function viewpoint of the previous section and the abstract tensor product are linked by a canonical isomorphism, which is what licenses treating tensors interchangeably as abstract products of covectors or as multilinear functions.

Proposition: Abstract Versus Concrete Tensor Products

For finite-dimensional real vector spaces \(V_1, \ldots, V_k\), there is a canonical isomorphism \[ V_1^* \otimes \cdots \otimes V_k^* \;\cong\; L(V_1, \ldots, V_k; \mathbb{R}) , \] under which the abstract tensor product \(\omega^1 \otimes \cdots \otimes \omega^k\) of covectors corresponds to the multilinear function \((v_1, \ldots, v_k) \mapsto \omega^1(v_1) \cdots \omega^k(v_k)\).

Proof:

The assignment \((\omega^1, \ldots, \omega^k) \mapsto \big[(v_1, \ldots, v_k) \mapsto \omega^1(v_1) \cdots \omega^k(v_k)\big]\) is multilinear in the covectors \(\omega^1, \ldots, \omega^k\), so by the universal property it descends to a unique linear map \(\Phi : V_1^* \otimes \cdots \otimes V_k^* \to L(V_1, \ldots, V_k; \mathbb{R})\) sending \(\omega^1 \otimes \cdots \otimes \omega^k\) to that function. To see that \(\Phi\) is an isomorphism it suffices to check that it is surjective, since the two spaces have equal dimension \(\dim V_1 \cdots \dim V_k\): the domain by the dimension of a tensor product, the codomain by the count of multilinear functions, both recorded with the coordinate basis established below. Surjectivity is immediate, because every multilinear function is determined by its values on tuples of basis vectors, and those values are matched by the corresponding linear combination of products of dual basis covectors, which lies in the image of \(\Phi\). The construction of \(\Phi\) refers only to evaluation, with no basis chosen, so the isomorphism is canonical, even though dimension and surjectivity were verified with the aid of a basis.

Henceforth the notation \(V_1^* \otimes \cdots \otimes V_k^*\) denotes either the abstract tensor product or the space of multilinear functions \(L(V_1, \ldots, V_k; \mathbb{R})\), whichever reading is convenient.

Two pages, two viewpoints, one object

The tensor product is the same vector space here as in the earlier treatment, but approached from a different side, and the two should not be conflated even as they are reconciled. The earlier page works with a fixed basis and reads a tensor as a multidimensional array of components; the Kronecker product and vectorization are the coordinate-level operations that result, and the perspective is the one that matches the data structures of computational practice. The present page characterizes the tensor product without any basis, by how multilinear maps factor through it, and identifies the tensor product of dual spaces with the space of multilinear functions. Neither viewpoint is more correct; they are dual descriptions. The canonical isomorphism above makes the link precise: once a basis is fixed, the array of an element of \(V_1^* \otimes \cdots \otimes V_k^*\) in the dual basis coincides entry for entry with the table of values that the associated multilinear function takes on tuples of basis vectors. On manifolds the basis-free description is the one that survives a change of coordinates, which is why the development that follows takes the multilinear-function viewpoint as primary.

Covariant and Contravariant Tensors

The tensors that matter most for the geometry of manifolds are those built from the dual space: multilinear functions of several vectors. A covector is the case of one argument, and the general case is its multilinear generalization.

Definition: Covariant Tensor

Let \(V\) be a finite-dimensional real vector space and \(k\) a positive integer. A covariant \(k\)-tensor on \(V\) is an element of the \(k\)-fold tensor product of the dual space, \[ T^k(V^*) = \underbrace{V^* \otimes \cdots \otimes V^*}_{k \text{ copies}} , \] equivalently a real-valued multilinear function of \(k\) vectors, \(\alpha : V \times \cdots \times V \to \mathbb{R}\). The integer \(k\) is the rank of \(\alpha\). By convention a \(0\)-tensor is a real number, and \(T^0(V^*) = \mathbb{R}\).

The two descriptions agree by the canonical identification of the abstract tensor product with the space of multilinear functions established above. The rank-one case is already familiar: a covariant \(1\)-tensor is exactly a covector, so \(T^1(V^*) = V^*\), and the development of covectors is the rank-one instance of the present one. Several rank-two and higher tensors are already in use: a bilinear form is a covariant \(2\)-tensor, an inner product is a covariant \(2\)-tensor that is in addition symmetric and positive definite, and the determinant, as a function of the \(n\) columns, is a covariant \(n\)-tensor on \(\mathbb{R}^n\).

Reversing the roles of \(V\) and \(V^*\) gives the dual notion, multilinear functions of covectors rather than vectors.

Definition: Contravariant Tensor

Let \(V\) be a finite-dimensional real vector space and \(k\) a positive integer. A contravariant \(k\)-tensor on \(V\) is an element of the \(k\)-fold tensor product of \(V\) with itself, \[ T^k(V) = \underbrace{V \otimes \cdots \otimes V}_{k \text{ copies}} . \] Since \(V\) is finite-dimensional, \(T^k(V)\) may equivalently be regarded as the space of real-valued multilinear functions of \(k\) covectors. In particular \(T^1(V) = V\), and by convention \(T^0(V) = \mathbb{R}\).

The identification of \(T^k(V)\) with multilinear functions of covectors uses the canonical isomorphism \(V \cong V^{**}\) available in finite dimensions: a vector, regarded as an element of the double dual, is a linear function of covectors, and tensor products of vectors are multilinear functions of covectors. Combining the two variances yields the general mixed tensor.

Definition: Mixed Tensor

Let \(V\) be a finite-dimensional real vector space and \(k, l\) nonnegative integers. A mixed tensor of type \((k, l)\) on \(V\) is an element of \[ T^{(k,l)}(V) = \underbrace{V \otimes \cdots \otimes V}_{k \text{ copies}} \otimes \underbrace{V^* \otimes \cdots \otimes V^*}_{l \text{ copies}} , \] with \(k\) contravariant and \(l\) covariant slots. The covariant and contravariant tensors are the special cases \[ T^{(0,l)}(V) = T^l(V^*), \qquad T^{(k,0)}(V) = T^k(V), \] and \(T^{(0,0)}(V) = \mathbb{R}\), \(T^{(0,1)}(V) = V^*\), \(T^{(1,0)}(V) = V\).

A note on conflicting notation

The placement of the indices \(k\) and \(l\) in the symbol \(T^{(k,l)}(V)\), and the use of superscripts versus subscripts for the rank, are not universal across the literature. Some sources reverse the roles of the two integers, and some write a single superscript or subscript for the covariant rank. The convention adopted here puts the contravariant rank first and uses \(T^k(V^*)\) for purely covariant tensors. The development that follows is concerned almost entirely with covariant tensors, since a metric, a differential form, and the other structures to come are all covariant; contravariant and mixed tensors are recorded here for completeness and will reappear when raising and lowering indices becomes available.

Coordinate Representation

A choice of basis for \(V\) produces a basis for every tensor space over \(V\), built from tensor products of the dual basis covectors. The underlying principle is that a multilinear function is determined by its values on all tuples of basis vectors, and those values may be prescribed freely.

Theorem: Basis for the Space of Covariant Tensors

Let \(V\) be a real vector space of dimension \(n\) with basis \((E_1, \ldots, E_n)\) and dual basis \((\varepsilon^1, \ldots, \varepsilon^n)\). For each positive integer \(k\), the set \[ \big\{ \varepsilon^{i_1} \otimes \cdots \otimes \varepsilon^{i_k} : 1 \leq i_1, \ldots, i_k \leq n \big\} \] is a basis for \(T^k(V^*)\), which therefore has dimension \(n^k\).

Proof:

Evaluating a tensor product of dual basis covectors on a tuple of basis vectors gives, by the definition of the tensor product of covectors, \[ \varepsilon^{i_1} \otimes \cdots \otimes \varepsilon^{i_k}\,(E_{j_1}, \ldots, E_{j_k}) = \varepsilon^{i_1}(E_{j_1}) \cdots \varepsilon^{i_k}(E_{j_k}) = \delta^{i_1}_{j_1} \cdots \delta^{i_k}_{j_k} , \] which is \(1\) when the multi-index \((i_1, \ldots, i_k)\) equals \((j_1, \ldots, j_k)\) and \(0\) otherwise. Given any covariant \(k\)-tensor \(\alpha\), set \(\alpha_{i_1 \cdots i_k} = \alpha(E_{i_1}, \ldots, E_{i_k})\). The tensor \(\alpha_{i_1 \cdots i_k}\, \varepsilon^{i_1} \otimes \cdots \otimes \varepsilon^{i_k}\) takes the same value as \(\alpha\) on every tuple of basis vectors, by the displayed evaluation, and two multilinear functions agreeing on all tuples of basis vectors are equal. Hence the displayed set spans \(T^k(V^*)\). For independence, a vanishing combination \(c_{i_1 \cdots i_k}\, \varepsilon^{i_1} \otimes \cdots \otimes \varepsilon^{i_k} = 0\), evaluated on \((E_{j_1}, \ldots, E_{j_k})\), yields \(c_{j_1 \cdots j_k} = 0\) for every multi-index. There are \(n^k\) such basis elements, so \(\dim T^k(V^*) = n^k\).

The computation in the proof records the coordinate representation of an arbitrary covariant tensor.

Definition: Components of a Covariant Tensor

With a basis \((E_i)\) and dual basis \((\varepsilon^i)\) fixed, every covariant \(k\)-tensor \(\alpha \in T^k(V^*)\) has a unique expansion \[ \alpha = \alpha_{i_1 \cdots i_k}\, \varepsilon^{i_1} \otimes \cdots \otimes \varepsilon^{i_k} , \qquad \alpha_{i_1 \cdots i_k} = \alpha(E_{i_1}, \ldots, E_{i_k}) . \] The \(n^k\) scalars \(\alpha_{i_1 \cdots i_k}\) are the components of \(\alpha\) with respect to the basis. All indices are subscripts, consistent with the covariant nature of the tensor.

The rank-two case ties the abstract development back to matrices. A bilinear form \(\beta \in T^2(V^*)\) has components \(\beta_{ij} = \beta(E_i, E_j)\), so \(\beta = \beta_{ij}\, \varepsilon^i \otimes \varepsilon^j\), and the components form an \(n \times n\) matrix \((\beta_{ij})\). The value of \(\beta\) on a pair of vectors is the bilinear expression \(\beta(v, w) = \beta_{ij}\, v^i w^j\), the familiar matrix-vector pairing. A covariant \(2\)-tensor is exactly a bilinear form, and its components are exactly its matrix; the symmetric and positive-definite ones among them are the inner products, which will reappear as the pointwise data of a metric.

The same construction applies verbatim to the contravariant and mixed tensors, using the basis \((E_i)\) of \(V\) alongside the dual basis. A mixed tensor of type \((k, l)\) has components carrying \(k\) upper and \(l\) lower indices, the upper indices contravariant and the lower covariant, with the index convention again ensuring that every contraction pairs one upper index against one lower index. When these constructions are carried out fiberwise over a manifold, with the dual coordinate basis fields in place of \((\varepsilon^i)\), the result is the component representation of a tensor field, the object that the next development builds on.