# Tensor product

In mathematics, the **tensor product**, denoted by ⊗, may be applied in different contexts to vectors, matrices, tensors, vector spaces, algebras, topological vector spaces, and modules, among many other structures or objects. In each case the significance of the symbol is the same: the most general bilinear operation. In some contexts, this product is also referred to as **outer product**. The term "tensor product" is also used in relation to monoidal categories. The variant of ⊗ is used in control theory.

## Tensor product of vector spaces

The tensor product of two vector spaces *V* and *W* over a field *K* is another vector space over *K*. It is denoted *V* ⊗_{K} *W*, or *V* ⊗ *W* when the underlying field *K* is understood.

### Prerequisite: the free vector space

The definition of ⊗ requires the notion of the free vector space *F*(*S*) on some set *S*. The elements of the vector space *F*(*S*) are formal sums of elements of *S* with coefficients in a given field *K*. A formal sum is an expression written in the form of a sum in which no actual arithmetic operations can be carried out. For example 2*a* + 3*b* is a formal sum, and {{ safesubst:#invoke:Unsubst||$B=1/1 − *x*}} is a formal sum with no restrictions on values of *x* (versus the usual case where |*x*| < 1 must hold for a geometric series to converge), since no "plugging in" will actually be performed. For the set of all formal sums of elements of *S* with coefficients in *K* to be a vector space, we need to define addition and scalar multiplication. The terms of a formal sum can be written in any order and the addition of formal sums is associative.

Addition of formal sums is defined as follows: if *m* ≠ *n*, *a*_{i} ⋅ *s*_{m} + *a*_{j} ⋅ *s*_{n} cannot be simplified. If *m* = *n*, then *a*_{i} ⋅ *s*_{m} + *a*_{j} ⋅ *s*_{n} = (*a*_{i} + *a*_{j}) ⋅ *s*_{m}.

Scalar multiplication of formal sums is defined as follows: If *k* is in the field *K*, then *k*(*a*_{1} ⋅ *s*_{1} + *a*_{2} ⋅ *s*_{2} + ... + *a*_{n} ⋅ *s*_{n}) = *ka*_{1} ⋅ *s*_{1} + *ka*_{2} ⋅ *s*_{2} + ... + *ka*_{n} ⋅ *s*_{n}.

The dimension of the vector space equals the number of elements in *S*.

### Definition

Given two vector spaces *V* and *W* over a field *K*, the tensor product *U* of *V* and *W*, denoted as *U* = *V* ⊗ *W* is defined as the vector space whose elements and operations are constructed as follows:

From the cartesian product *V* × *W*, the free vector space *F*(*V* × *W*) over *K* is formed. The vectors of *V* ⊗ *W* are then defined to be the equivalence classes of *F*(*V* × *W*) under the following equivalence relations:

The operations of *V* ⊗ *W*, i.e. the map of vector addition +: *U* × *U* → *U* and scalar multiplication ⋅: *K* × *U* → *U* are defined to be the respective operations +_{F} and ⋅_{F} from *F*(*V* × *W*), acting on *any* representatives

in the involved equivalence classes outputting the one equivalence class of the result.

One can show that the result is actually independent of which representatives of the involved classes have been chosen. In other words, the operations are well-defined.

In short, the tensor product *V* ⊗ *W* is defined as the quotient space *F*(*V* × *W*)/*N* over the subspace *N* of *F*(*V* × *W*), which expresses the equivalence relations described above:

### Notation and examples

Given bases {*v _{i}*} and {

*w*} for

_{i}*V*and

*W*respectively, the tensors {

*v*⊗

_{i}*w*} form a basis for

_{j}*V*⊗

*W*. The dimension of the tensor product therefore is the product of dimensions of the original spaces; for instance

**R**

^{m}⊗

**R**

^{n}will have dimension

*mn*.

Elements of *V* ⊗ *W* are sometimes referred to as *tensors*, although this term refers to many other related concepts as well.^{[1]} An element of *V* ⊗ *W* of the form *v* ⊗ *w* is called a *pure* or *simple tensor*. In general, an element of the tensor product space is not a pure tensor, but rather a finite linear combination of pure tensors. That is to say, if *v*_{1} and *v*_{2} are linearly independent, and *w*_{1} and *w*_{2} are also linearly independent, then *v*_{1} ⊗ *w*_{1} + *v*_{2} ⊗ *w*_{2} cannot be written as a pure tensor. The number of simple tensors required to express an element of a tensor product is called the tensor rank (not to be confused with tensor order, which is the number of spaces one has taken the product of, in this case 2; in notation, the number of indices), and for linear operators or matrices, thought of as (1, 1) tensors (elements of the space *V* ⊗ *V*^{∗}), it agrees with matrix rank.

### Tensor product of linear maps

The tensor product also operates on linear maps between vector spaces. Specifically, given two linear maps *S* : *V* → *X* and *T* : *W* → *Y* between vector spaces, the *tensor product of the two linear maps* *S* and *T* is a linear map

defined by

In this way, the tensor product becomes a bifunctor from the category of vector spaces to itself, covariant in both arguments.^{[2]}

If *S* and *T* are both injective, surjective, or continuous then *S* ⊗ *T* is, respectively, injective, surjective, continuous.

By choosing bases of all vector spaces involved, the linear maps *S* and *T* can be represented by matrices. Then, the matrix describing the tensor product *S* ⊗ *T* is the Kronecker product of the two matrices. For example, if *V*, *X*, *W*, and *Y* above are all two-dimensional and bases have been fixed for all of them, and *S* and *T* are given by the matrices and , respectively, then the tensor product of these two matrices is