Commutative Algebra 28

Tensor Products

In this article (and the next few), we will discuss tensor products of modules over a ring. Here is a motivating example of tensor products.


If V = \{a + bx + cx^2 : a,b,c \in \mathbb R\} and W = \{a' + b'y + c'y^2 : a', b', c' \in \mathbb R\} are real vector spaces, then V\otimes_{\mathbb R} W is the vector space with basis x^i y^j over 0 \le i \le 2, 0 \le j \le 2. Hence it follows that \dim (V\otimes W) = \dim V \times \dim W.

Also \mathbb C \otimes_{\mathbb R} V is the complex vector space of all a+bx+cx^2 where a,b,c\in \mathbb C. Thus \dim_{\mathbb C} (\mathbb C\otimes_{\mathbb R} V) = \dim_{\mathbb R} V.

These properties will be proven as we cover the theory.

Throughout this article, A is a fixed ring and all modules and linear maps are over A.


Given modules M, N, P, an A-bilinear map is a function

B : M\times N \longrightarrow P

such that:

  • for each m\in M, the function B(m, -) : N\to P is A-linear;
  • for each n\in N, the function B(-, n) : M\to P is A-linear.

For example over the base ring \mathbb Z, the Euclidean inner product

\mathbb Z^n \times \mathbb Z^n \longrightarrow \mathbb Z, \quad ((x_1, \ldots, x_n), (y_1, \ldots, y_n)) \mapsto \sum_i x_i y_i

is bilinear. It is important to distinguish between a bilinear M\times N\to P and a linear M\times N\to P. For example, in a bilinear map, we must have B(m, 0) = 0 for all m\in M while this is hardly ever true for a linear map.

Philosophically, we want the tensor product of M and N to be the module that classifies all bilinear maps from M\times N.


The tensor product of modules M, N comprises of:

(P, \phi : M\times N \to P)

where P = M\otimes_A N is a module, \phi is a bilinear map, such that for any pair

(Q, \psi : M\times N \to Q)

where Q is a module and \psi is bilinear, there is a unique linear map f : P \to Q such that f\circ\phi = \psi.

Exercise A

1. Prove that the tensor product is unique up to unique isomorphism.

2. For our initial example of V\otimes_{\mathbb R} W, let X be the space of all a+bx with ab real. Now take the bilinear

V \times W \longrightarrow X, \quad (f(x), g(y)) \mapsto f(1)g(-1) + \frac{df}{dx} g(1).

Compute the resulting V\otimes_{\mathbb R} W \to X.



To prove that the tensor product exists for any A-modules M and N, let F be the free A-module generated by M\times N as a set. The standard basis of F is denoted by e_{m, n} for (m,n) \in M\times N. Now let P be the quotient of F by the submodule generated by elements of the form:

\begin{aligned} e_{m+m', n} - e_{m,n} - e_{m', n}, &\quad e_{am, n} - a\cdot e_{m, n},\\ e_{m, n+n'} - e_{m,n} - e_{m,n'}, &\quad e_{m,an} - a\cdot e_{m,n},\end{aligned}

over all m,m'\in M, n, n'\in N, a\in A. The map \phi : M\times N \to P is defined by (m, n) \mapsto \overline e_{m,n}; by definition of P this is A-bilinear.


The pair (P, \phi:M\times N\to P) forms the tensor product of M and N.


Let Q be any module and \psi : M\times N\to Q be any bilinear map. We first define a linear f': F \to Q by taking e_{m, n}\mapsto \psi(m, n). This map factors through P because:

  • by bilinearity of \psi we have \psi(m + m', n) - \psi(m, n) - \psi(m', n) = 0 and thus f' takes e_{m+m', n} - e_{m,n} - e_{m',n} to 0; Similarly it also takes all elements of the form e_{am, n} - a\cdot e_{m, n}, e_{m, n+n'} - e_{m,n} - e_{m,n'} and e_{m,an} - a\cdot e_{m,n} to zero.

Hence we obtain a linear f:P \to Q which takes \overline e_{m,n} \mapsto \psi(m, n). We have

f\circ\phi(m,n) = f(\overline e_{m,n}) = \psi(m,n)

and so f\circ\phi = \psi.

To prove f is unique, since f\circ \phi = \psi we must have f(\overline e_{m,n}) = f(\phi(m,n)) = \psi(m,n). But the set of \overline e_{m,n} generates F so this proves uniqueness. ♦


Let us set some notation. For the given \phi : M\times N\to M\otimes N, any m\in M and n\in N gives us \phi(m, n), denoted by m\otimes_A n. The universal property of tensor product thus says the following.

  • Any A-bilinear \psi : M\times N\to Q induces a unique linear M\otimes_A N\to Q which sends m\otimes_A n\mapsto \psi(m, n).

From the explicit construction of the tensor product, we also have:

Corollary 1.

The module M\otimes_A N is generated by m\otimes_A n over all m\in M and n\in N.

warningEvery element of M\otimes_A N is thus a sum of various m\otimes n; but in general not every element is of the form m\otimes n. Counter-examples should be easy to find if you take V\otimes_{\mathbb R} W in the beginning of this article.

Exercise B

Prove functoriality: if f:M\to M' and g:N\to N' are linear maps, they induce a linear h: M\otimes_A N \to M'\otimes_A N' satisfying h(m\otimes n) = f(m) \otimes g(n). We denote this map by f\otimes g.

In other words, we get a covariant functor

\otimes : A\text{-}\mathbf{Mod} \times A\text{-}\mathbf{Mod} \longrightarrow A\text{-}\mathbf{Mod}

warningEven if f is injective, f\otimes 1_N : M\otimes_A N \to M'\otimes_A N is not injective in general. Thus the functor - \otimes_A N does not take injective maps to injective maps. An example will be given at the end of this article.


Basic Properties

Now we prove some basic properties of the tensor product. 

Proposition 1.

For any module M, A\otimes_A M \cong M, where a\otimes m\mapsto am.


The isomorphism is natural. To be exact, both sides are functorial in M and we get a natural isomorphism between the functors.


Let us construct A-linear maps

f:A\otimes_A M \to M, \quad g : M\to A\otimes_A M.

To define f we take the map A\times M\to M, (a, m) \mapsto am. This is easily checked to be A-bilinear so it induces an f: A\otimes_A M \to M satisfying f(a\otimes m) = am.

Defining g is easy: set g(m) = 1 \otimes m, which is A-linear. It remains to show the maps are mutually inverse. Let a\in A, m\in M.

  • We have g(f(a \otimes m)) = g(am) = 1 \otimes am = a\otimes m due to bilinearity. Since the pure tensors a\otimes m generate A\otimes_A M we have g\circ f = 1.
  • Also f(g(m)) = f(1\otimes m) = m so f\circ g = 1 too. ♦

Proposition 2.

For any modules M, N, P, we have

(M\otimes_A N)\otimes_A P \cong M\otimes_A (N\otimes_A P), \quad (m\otimes n) \otimes p \mapsto m\otimes (n\otimes p).


Again, this isomorphism is functorial in MN and P.


Fix m\in M and consider the map \phi_m : N\times P \to (M\otimes_A N)\otimes_A P which takes (n, p) \mapsto (m\otimes n)\otimes p. This is an A-bilinear map so it induces a linear

f_m : N\otimes_A P \longrightarrow (M\otimes_A N)\otimes_A P, \quad (n\otimes p) \mapsto (m\otimes n) \otimes p.

Now the map \phi : M \times (N\otimes P) \to (M\otimes_A N)\otimes_A P, which takes (m, x) \mapsto f_m(x) is A-bilinear so it induces a linear

f : M\otimes_A (N \otimes_A P) \longrightarrow (M\otimes_A N)\otimes_A P, \quad m\otimes(n \otimes p) \mapsto (m\otimes n)\otimes p.

Similarly, we can define a linear g : (M\otimes_A N)\otimes_A P \to M\otimes_A (N \otimes_A P) which takes (m\otimes n)\otimes p \mapsto m\otimes (n \otimes p). Thus g\circ f takes elements of the form m\otimes (n\otimes p) back to themselves; since these generate the whole module we have g\circ f = 1. Similarly f\circ g = 1. ♦

Proposition 3.

For any modules M, N, we have

M\otimes_A N \cong N\otimes_A M, \quad (m\otimes n) \mapsto (n\otimes m).


Exercise. ♦


Consider \mathbb Z \stackrel 2\to \mathbb Z, the multiplication-by-2 map. Taking - \otimes_{\mathbb Z} (\mathbb Z/2\mathbb Z) gives us \mathbb Z/2\mathbb Z \to \mathbb Z/2\mathbb Z, still multiplication-by-2 but now it is the zero map. Hence tensor products do not take injective maps to injective maps in general.


This entry was posted in Advanced Algebra and tagged , , , , . Bookmark the permalink.

2 Responses to Commutative Algebra 28

  1. Vanya says:

    In the statement ” Thus the functor – \otimes_A N does not take submodules to submodules. ” did you mean ” does not take injective maps to injective maps” ?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s