nLab
tensor product

Contents

Idea

The term tensor product has many different but closely related meanings.

  • In its original sense a tensor product is a representing object for a suitable sort of multilinear map. The most classical versions are for vector spaces, and more generally modules over a ring. In modern language this takes place in a multicategory.

  • Consequently, the functor :C×CC which is part of the data of a monoidal category C is also often called a tensor product, since in many examples of monoidal categories it is induced from a tensor product in the above sense (and in fact, any monoidal category underlies a multicategory in a canonical way). In parts of the literature (certain) abelian monoidal categories are even addressed as tensor categories.

  • Given two objects in a monoidal category (C,) with a right and left action, respectively, of some monoid A, their tensor product over A is the quotient of their tensor product in C by this action. If A is commutative, then this is a special case of the tensor product in a multicategory.

  • This generalizes to modules over monads in a bicategory, which includes the notion of tensor product of functors.

  • Finally, tensor products in a multicategory and tensor products over monads in a bicategory are both special cases of tensor products in an virtual double category.

Tensor product in a multicategory

If M is a multicategory and A and B are objects in M, then the tensor product AB can be defined to be an object equipped with a universal multimorphism A,BAB. Thus, any multimorphism A,BC factors uniquely through A,BAB via a (1-ary) morphism ABC.

For example, if M is the category Ab of abelian groups, made into a multicategory using multilinear maps as the multimorphisms, then we get the usual tensor product of abelian groups. That is, AB is equipped with a universal map from A×B (as a set) to C such that this map is linear (a group homomorphism) in each argument separately. This tensor product can also be constructed explicitly by

  1. starting with the cartesian product A×B in sets,
  2. generating a free abelian group from it, and then
  3. quotienting by relations (a 1,b)+(a 2,b)(a 1+a 2,b) and (a,b 1)+(a,b 2)(a,b 1+b 2). (The 0-ary relations (0,b)0 and (a,0)0 follow automatically; you need them explicitly if you generalise to abelian monoids.)

Note that in this case, AB is not a subobject or a quotient of the cartesian product A×B. However, in many other cases the tensor product in a multicategory can be obtained as a quotient of some other pre-existing product; see “tensor product of modules,” below.

Other examples of tensor products in multicategories:

In particular, any closed category (even if not monoidal) has an underlying multicategory. Tensor products in this multicategory are characterized by the adjointness relation

hom(AB,C)hom(A,hom(B,C)).\hom(A\otimes B, C) \cong \hom(A, \hom(B,C)).

This may be the oldest notion of tensor product, since the definition of the internal-hom of abelian groups and vector spaces, unlike that of their tensor product, is intuitively obvious.

Strong universality

While the universal property referred to above (every bilinear map A,BC factors uniquely through A,BAB via a map ABC) suffices to define the tensor product, it does not suffice to prove that it is associative and unital. For this we need the stronger property that any multilinear map D 1,,D m,A,B,E 1,,E nC factors uniquely through A,BAB via a multilinear map D 1,,D m,AB,E 1,,E nC.

Tensor product of modules in a monoidal category

Let R be a commutative ring and consider the multicategory R-Mod of R-modules and R-multilinear maps. In this case the tensor product A RB of R-modules A and B can be constructed as the quotient of the tensor product AB of their underlying abelian groups by the action of R; that is,

A RB=AB/(a,rb)(ar,b).A\otimes_R B = A\otimes B / (a,r\cdot b) \sim (a\cdot r,b).

More category-theoretically, this can be constructed as the coequalizer of the two maps

ARBABA\otimes R \otimes B \;\rightrightarrows\; A\otimes B

given by the action of R on A and on B. If R is a field, then R-modules are vector spaces; this gives probably the most familiar case of a tensor product spaces, which is also probably the situation where the concept was first conceived.

This tensor product can be generalized to the case when R is not commutative, as long as A is a right R-module and B is a left R-module. More generally yet, if R is a monoid in any monoidal category (a ring being a monoid in Ab with its tensor product), we can define the tensor product of a left and a right R-module in an analogous way. If R is a commutative monoid in a symmetric monoidal category, so that left and right R-modules coincide, then A RB is again an R-module, while if R is not commutative then A RB will no longer be an R-module of any sort.

  • Not all tensor products in multicategories are instances of this construction. In particular, the tensor product in Ab is not the tensor product of modules over any monoid in the cartesian monoidal category Set. Abelian groups can be considered as “sets with an action by something,” but that something is more complicated than a monoid: it is a special sort of monad called a commutative theory?.

  • Conversely, if R is a commutative monoid in a symmetric monoidal category, there is a multicategory of R-modules whose tensor product agrees with the coequalizer defined above, but if R is not commutative this is impossible. However, see the section on tensor products in virtual double categories, below.

Tensor product of modules in a bicategory

The tensor product of left and right modules over a noncommutative monoid in a monoidal category is a special case of the tensor product of modules for a monad in a bicategory. If R:xx is a monad in a bicategory B, a right R-module is a 1-cell A:yx with an action by R, a left R-module is a 1-cell B:xz with an action by R, and their tensor product, if it exists, is a 1-cell yz given by a similar coequalizer. Regarding a monoidal category as a 1-object bicategory, this recovers the above definition.

For example, consider the bicategory VMat of V-valued matrices for some monoidal category V. A monad in VMat is a V-enriched category A, an (A,I)-bimodule is a functor AV, an (I,A)-bimodule is a functor A opV, and their tensor product in VMat is a classical construction called the tensor product of functors. It can also be defined as a coend.

Tensor product in a virtual double category

A virtual double category is a common generalization of a multicategory and a bicategory (and actually of a double category). Among other things, it has objects, 1-cells, and “multi-2-cells.” We leave it to the reader to define a notion of tensor product of 1-cells in such a context, analogous to the tensor product of objects in a multicategory. A multicategory can be regarded as a 1-object virtual double category, so this generalizes the notion of tensor product in a multicategory.

On the other hand, in any bicategory (in fact, any double category) there is a virtual double category whose objects are monads and whose 1-cells are bimodules, and the tensor product in this virtual double category is the tensor product of modules in a bicategory defined above. Thus, tensor products in a virtual double category include all notions of tensor product discussed above.