# Tensor product of modules

In mathematics, the **tensor product of modules** is a construction that allows arguments about bilinear maps (e.g. multiplication) to be carried out in terms of linear maps (module homomorphisms). The module construction is analogous to the construction of the tensor product of vector spaces, but can be carried out for a pair of modules over a commutative ring resulting in a third module, and also for a pair of a left-module and a right-module over any ring, with result an abelian group. Tensor products are important in areas of abstract algebra, homological algebra, algebraic topology and algebraic geometry. The universal property of the tensor product of vector spaces extends to more general situations in abstract algebra. It allows the study of bilinear or multilinear operations via linear operations. The tensor product of an algebra and a module can be used for extension of scalars. For a commutative ring, the tensor product of modules can be iterated to form the tensor algebra of a module, allowing one to define multiplication in the module in a universal way.

## Multilinear mappings

For a ring *R*, a right *R*-module *M _{R}*, a left

*R*-module

*, and an abelian group*

_{R}N*Z*, a

**bilinear map**or

**balanced product**from

*M*×

*N*to

*Z*is a function

*φ*:

*M*×

*N*→

*Z*such that for all

*m*,

*m*′ in

*M*,

*n*,

*n*′ in

*N*, and

*r*in

*R*:

*φ*(*m*+*m*′,*n*) =*φ*(*m*,*n*) +*φ*(*m*′,*n*)*φ*(*m*,*n*+*n*′) =*φ*(*m*,*n*) +*φ*(*m*,*n*′)*φ*(*m*·*r*,*n*) =*φ*(*m*,*r*·*n*)

The set of all such bilinear maps from *M* × *N* to *Z* is denoted by Bilin(*M*, *N*; *Z*).

Property 3 differs slightly from the definition for vector spaces. This is necessary because *Z* is only assumed to be an abelian group, so *r* · *φ*(*m*, *n*) would not make sense.

If *φ*, *ψ* are bilinear maps, then *φ* + *ψ* is a bilinear map, and −*φ* is a bilinear map, when these operations are defined pointwise. This turns the set Bilin(*M*, *N*; *Z*) into an abelian group. The neutral element is the zero mapping.

For *M* and *N* fixed, the map *Z* ↦ Bilin(*M*, *N*; *Z*) is a functor from the category of abelian groups to the category of sets. The morphism part is given by mapping a group homomorphism *g* : *Z* → *Z*′ to the function *φ* ↦ *g* ∘ *φ*, which goes from Bilin(*M*, *N*; *Z*) to Bilin(*M*, *N*; *Z*′).

## Definition

Let *M*,*N* and *R* be as in the previous section. The **tensor product** over *R*

is an abelian group together with a bilinear map (in the sense defined above)

which is universal in the following sense:^{[1]}

As with all universal properties, the above property defines the tensor product uniquely up to a unique isomorphism: any other object and bilinear map with the same properties will be isomorphic to *M* ⊗_{R} *N* and ⊗. The definition does not prove the existence of *M* ⊗_{R} *N*; see below for a construction.

The tensor product can also be defined as a representing object for the functor *Z* → Bilin_{R}(*M*,*N*;*Z*). This is equivalent to the universal mapping property given above.

Strictly speaking, the ring used to form the tensor should be indicated: most modules can be considered as modules over several different rings or over the same ring with a different actions of the ring on the module elements. For example, it can be shown that **R** ⊗_{R} **R** and **R** ⊗_{Z} **R** are completely different from each other. However in practice, whenever the ring is clear from context, the subscript denoting the ring may be dropped.

## Examples

Consider the rational numbers, **Q**, and the integers modulo *n*, **Z**_{n}. As with any abelian group, both can be considered as modules over the integers, **Z**.
Let *B*: **Q** × **Z**_{n} → *M* be a **Z**-bilinear operator. Then *B*(*q*, *k*) = *B*(*q*/*n*, *nk*) = *B*(*q*/*n*, 0) = 0, so every bilinear operator is identically zero. Therefore, if we define to be the trivial module, and to be the zero bilinear function, then we see that the properties for the tensor product are satisfied. Therefore, the tensor product of **Q** and **Z**_{n} is {0}.^{[2]}

An abelian group is a **Z**-module, which allows the theory of abelian groups to be subsumed in that of modules.^{[3]} The tensor product of **Z**-modules is sometimes termed the **tensor product of abelian groups**.

## Construction

The construction of *M* ⊗ *N* takes a quotient of a free abelian group with basis the symbols *m* ⊗ *n* for *m* in *M* and *n* in *N* by the subgroup generated by all elements of the form

- −(
*m*+*m′*) ⊗*n*+*m*⊗*n*+*m′*⊗*n* - −
*m*⊗ (*n*+*n′*) +*m*⊗*n*+*m*⊗*n′* - (
*m*·*r*) ⊗*n*−*m*⊗ (*r*·*n*)

where *m*,*m′* in *M*, *n*,*n′* in *N*, and *r* in *R*. The function which takes (*m*,*n*) to the coset containing *m* ⊗ *n* is bilinear, and the subgroup has been chosen minimally so that this map is bilinear.

The direct product of *M* and *N* is rarely isomorphic to the tensor product of *M* and *N*. When *R* is not commutative, then the tensor product requires that *M* and *N* be modules on opposite sides, while the direct product requires they be modules on the same side. In all cases the only function from *M* × *N* to *Z* which is both linear and bilinear is the zero map.

## Relationship to flat modules

In general, is a bifunctor which accepts a right and a left *R* module pair as input, and assigns them to the tensor product in the category of abelian groups.

By fixing a right *R* module *M*, a functor arises, and symmetrically a left *R* module *N* could be fixed to create a functor . Unlike the Hom bifunctor , the tensor functor is covariant in both inputs.

It can be shown that *M*⊗- and -⊗*N* are always right exact functors, but not necessarily left exact. By definition, a module *T* is a flat module if *T*⊗- is an exact functor.

If {*m*_{i}}_{i∈I} and {*n*_{j}}_{j∈J} are generating sets for *M* and *N*, respectively, then {*m*_{i}⊗*n*_{j}}_{i∈I,j∈J} will be a generating set for *M*⊗*N*. Because the tensor functor *M*⊗_{R}- sometimes fails to be left exact, this may not be a minimal generating set, even if the original generating sets are minimal.

When the tensor products are taken over a field *F* so that -⊗- is exact in both positions, and the generating sets are bases of *M* and *N*, it is true that indeed forms a basis for *M*⊗_{F} *N*.

## Several modules

It is possible to generalize the definition to a tensor product of any number of spaces. For example, the universal property of

*M*_{1}⊗*M*_{2}⊗*M*_{3}

is that each trilinear map on

*M*_{1}×*M*_{2}×*M*_{3}→*Z*

corresponds to a unique linear map

*M*_{1}⊗*M*_{2}⊗*M*_{3}→*Z*.

The binary tensor product is associative: (*M*_{1} ⊗ *M*_{2}) ⊗ *M*_{3} is naturally isomorphic to *M*_{1} ⊗ (*M*_{2} ⊗ *M*_{3}). The tensor product of three modules defined by the universal property of trilinear maps is isomorphic to both of these iterated tensor products.

## Additional structure

The tensor product, as defined, is an abelian group, but in general, it does not immediately have an *R*-module structure. However, if *M* is an (*S*,*R*)-bimodule, then *M*⊗_{R}*N* can be made into a left *S*-module using the obvious operation *s*(*m*⊗*n*)=(*sm*⊗*n*). Similarly, if *N* is an (*R*,*T*)-bimodule, then *M*⊗_{R}*N* is a right *T*-module using the operation (*m*⊗*n*)*t*=(*m*⊗*nt*). If *M* and *N* each have bimodule structures as above, then *M*⊗_{R}*N* is an (*S*,*T*)-bimodule. In the case where *R* is a commutative ring, all of its modules can be thought of as (*R*,*R*)-bimodules, and then *M*⊗_{R}*N* can be made into an *R*-module as described. In the construction of the tensor product over a commutative ring *R*, the multiplication operation can either be defined *a posteriori* as just described, or can be built in from the start by forming the quotient of a free *R*-module by the submodule generated by the elements given above for the general construction, augmented by the elements r (*m* ⊗ *n*) − *m* ⊗ (*r*·*n*), or equivalently the elements (*m*·*r*) ⊗ *n* − r (*m* ⊗ *n*).

If {*m*_{i}}_{i∈I} and {*n*_{j}}_{j∈J} are generating sets for *M* and *N*, respectively, then {*m*_{i}⊗*n*_{j}}_{i∈I,j∈J} will be a generating set for *M*⊗*N*. Because the tensor functor *M*⊗_{R}- is right exact, but sometimes not left exact, this may not be a minimal generating set, even if the original generating sets are minimal. If *M* is a flat module, the functor is exact by the very definition of a flat module. If the tensor products are taken over a field *F*, we are in the case of vector spaces as above. Since all *F* modules are flat, the bifunctor is exact in both positions, and the two given generating sets are bases, then
indeed forms a basis for *M* ⊗_{F} *N*.

If *S* and *T* are commutative *R*-algebras, then *S* ⊗_{R} *T* will be a commutative *R*-algebra as well, with the multiplication map defined by (*m*_{1} ⊗ *m*_{2}) (*n*_{1} ⊗ *n*_{2}) = (*m*_{1}*n*_{1} ⊗ *m*_{2}*n*_{2}) and extended by linearity. In this setting, the tensor product become a fibered coproduct in the category of *R*-algebras. Note that any ring is a *Z*-algebra, so we may always take *M* ⊗_{Z} *N*.

If * _{S1}M_{R}* is an

*S*-bimodule, then there is a unique left

_{1}-R*S*-module structure on

_{1}*M*⊗

*N*which is compatible with the tensor map ⊗:

*M*×

*N*→

*M*⊗

_{R}

*N*. Similarly, if

*is an*

_{R}N_{S2}*R-S*-bimodule, then there is a unique right

_{2}*S*-module structure on

_{2}*M*⊗

_{R}

*N*which is compatible with the tensor map.{{ safesubst:#invoke:Unsubst||date=__DATE__ |$B= {{#invoke:Category handler|main}}{{#invoke:Category handler|main}}

^{[citation needed]}}}

If *M* and *N* are both *R*-modules over a commutative ring, then their tensor product is again an *R*-module. If *R* is a ring, * _{R}M* is a left

*R*-module, and the commutator

*rs*−*sr*

of any two elements *r* and *s* of *R* is in the annihilator of *M*, then we can make *M* into a right *R* module by setting

*mr*=*rm*.

The action of *R* on *M* factors through an action of a quotient commutative ring. In this case the tensor product of *M* with itself over *R* is again an *R*-module. This is a very common technique in commutative algebra.

## See also

## Notes

## References

{{ safesubst:#invoke:Unsubst||$N=Refimprove |date=__DATE__ |$B= {{#invoke:Message box|ambox}} }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.