nLab tensor product



Monoidal categories

monoidal categories

With braiding

With duals for objects

With duals for morphisms

With traces

Closed structure

Special sorts of products



Internal monoids



In higher category theory



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 bilinear map and multilinear map. The most classical versions are for vector spaces (modules over a field), more generally modules over a ring, and even more generally algebras over a commutative monad. In modern language this takes place in a multicategory.

  • Consequently, the functor :C×CC\otimes : C \times C \to C which is part of the data of any monoidal category CC 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,)(C,\otimes) with a right and left action, respectively, of some monoid AA, their tensor product over AA is the quotient of their tensor product in CC by this action. If AA 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 a virtual double category.


In a multicategory


For MM a multicategory and AA and BB objects in MM, the tensor product ABA \otimes B is defined to be an object equipped with a universal multimorphism A,BABA,B\to A \otimes B in that any multimorphism A,BCA,B\to C factors uniquely through A,BABA,B\to A \otimes B via a (1-ary) morphism ABCA \otimes B\to C.


MM 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, ABA \otimes B is equipped with a universal map from A×BA \times B (as a set) to CC 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×BA\times 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)(a_1,b)+(a_2,b)\sim (a_1+a_2,b) and (a,b 1)+(a,b 2)(a,b 1+b 2)(a,b_1)+(a,b_2)\sim (a,b_1+b_2). (The 0-ary relations (0,b)0(0,b)\sim 0 and (a,0)0(a,0)\sim 0 follow automatically; you need them explicitly if you generalise to abelian monoids.)

Note that in this case, ABA\otimes B is not a subobject or a quotient of the cartesian product A×BA\times 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:


The Gray tensor product of strict 2-categories is a tensor product in the multicategory of 2-categories and cubical functor?s. Likewise for Sjoerd Crans’ tensor product of Gray-categories.


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.

While the universal property referred to above (every bilinear map A,BCA,B\to C factors uniquely through A,BABA,B\to A\otimes B via a map ABCA\otimes B \to C) 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 nCD_1,\dots,D_m,A,B,E_1,\dots, E_n \to C factors uniquely through A,BABA,B\to A\otimes B via a multilinear map D 1,,D m,AB,E 1,,E nCD_1,\dots,D_m, A\otimes B ,E_1,\dots, E_n \to C.

In terms of heteromorphisms

An alternative approach is to define the tensor product via an inter-categorical universal property involving heteromorphisms. Tensor products do not always arise via an adjunction, but we can observe that hom(ab,c)het(a,b,c) hom (a \otimes b, c) \simeq het (\langle a, b \rangle, c) in general. That is to say, any morphism from aba \otimes b to cc in some category CC corresponds to a heteromorphism from a,b\langle a, b \rangle in C×CC \times C to cc in CC. In other words, the tensor product is a left representation of het(a,b,c)het (\langle a, b \rangle, c).

When tensor products exist, we have a canonical het η a,b:a,bab\eta_{\langle a, b \rangle} \colon \langle a, b \rangle \to a \otimes b from id abhom(ab,ab)id_{a \otimes b} \in hom (a \otimes b, a \otimes b). Given another het ϕ:a,bc\phi \colon \langle a, b \rangle \to c, we get the following commutative diagram.

a,b η a,b ϕ ab f c \begin{array}{cccC} & {\langle a, b \rangle} & & & \\ \eta_{\langle a, b \rangle} & \downarrow & \overset{\phi}\searrow & & \\ & a \otimes b & \underset{f}\dashrightarrow & c & \\ \end{array}

This represents an example of a more general method for translating universal properties in multicategories into ones involving heteromorphisms.

Of modules in a monoidal category

Let RR be a commutative ring and consider the multicategory RRMod of RR-modules and RR-multilinear maps. In this case the tensor product of modules A RBA\otimes_R B of RR-modules AA and BB can be constructed as the quotient of the tensor product of abelian groups ABA\otimes B underlying them by the action of RR; 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

ARBAB A\otimes R \otimes B \;\rightrightarrows\; A\otimes B

given by the action of RR on AA and on BB.

If RR is a field, then RR-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 RR is not commutative, as long as AA is a right RR-module and BB is a left RR-module. More generally yet, if RR 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 RR-module in an analogous way. If RR is a commutative monoid in a symmetric monoidal category, so that left and right RR-modules coincide, then A RBA\otimes_R B is again an RR-module, while if RR is not commutative then A RBA\otimes_R B will no longer be an RR-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 RR is a commutative monoid in a symmetric monoidal category, there is a multicategory of RR-modules whose tensor product agrees with the coequalizer defined above, but if RR is not commutative this is impossible. However, see the section on tensor products in virtual double categories, below.

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:xxR: x\to x is a monad in a bicategory BB, a right RR-module is a 1-cell A:yxA: y\to x with an action by RR, a left RR-module is a 1-cell B:xzB: x\to z with an action by RR, and their tensor product, if it exists, is a 1-cell yzy\to z given by a similar coequalizer. Regarding a monoidal category as a 1-object bicategory, this recovers the above definition.

For example, consider the bicategory VMatV-Mat of VV-valued matrices for some monoidal category VV. A monad in VMatV-Mat is a VV-enriched category AA, an (A,I)(A,I)-bimodule is a functor AVA\to V, an (I,A)(I,A)-bimodule is a functor A opVA^{op}\to V, and their tensor product in VMatV-Mat is a classical construction called the tensor product of functors. It can also be defined as a coend.

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.


[S n,][S^n,-][,A][-,A]()A(-) \otimes A
category theorycovariant homcontravariant homtensor product
homological algebraExtExtTor
enriched category theoryendendcoend
homotopy theoryderived hom space Hom(S n,)\mathbb{R}Hom(S^n,-)cocycles Hom(,A)\mathbb{R}Hom(-,A)derived tensor product () 𝕃A(-) \otimes^{\mathbb{L}} A


Tensor products were introduced by Hassler Whitney in

  • Hassler Whitney, Tensor products of Abelian groups, Duke Mathematical Journal 4:3 (1938), 495-528. doi.

Lecture notes:

For more on the

see there.

For the category theoretic formalization of tensor products see the references at

Formalization of tensor products in dependent linear type theory:

Last revised on January 25, 2024 at 18:41:55. See the history of this page for a list of all contributions to it.