The Unapologetic Mathematician

Mathematics for the interested outsider

Tensor products of abelian groups

Often enough we’re going to see the following situation. There are three abelian groups — A, B, and C — and a function f:A\times B\rightarrow C that is linear in each variable. What does this mean?

Well, “linear” just means “preserves addition” as in a homomorphism, but I don’t mean that f is a homomorphism from A\times B to C. That would mean the following equation held:

Instead, I want to say that if we fix one variable, the remaining function of the other variable is a homomorphism. That is
we call such a function “bilinear”.

The tensor product is a construction we use to replace bilinear functions by linear functions. It is defined by yet another universal property: a tensor product of A and B is an abelian group T and a bilinear function t:A\times B\rightarrow T so that for every other bilinear function f:A\times B\rightarrow C there is a unique linear function \bar{f}:T\rightarrow C so that f(a,b)=\bar{f}(t(a,b)). Like all objects defined by universal properties, the tensor product is automatically unique up to isomorphism if it exists.

So here’s how to construct one. I claim that T has a presentation by generators and relations as an abelian group. For generators take all elements of A\times B, and for relations take all the elements (a+a',b)-(a,b)-(a',b) and (a,b+b')-(a,b)-(a,b') for all a and a' in A and b and b' in B.

By the properties of such presentations, any function of the generators — of A\times B — defines a linear function on T if and only if it satisfies the relations. That is, if we apply a function f to each relation and get {}0 every time, then f defines a unique function \bar{f} on the presented group. So what does that look like here?
So a bilinear function f gives rise to a linear function \bar{f}, just as we want.

Usually we’ll write the tensor product of A and B as A\otimes B, and the required bilinear function as (a,b)\mapsto a\otimes b.

Now, why am I throwing this out now? Because we’ve already seen one example. It’s a bit trivial now, but catching it while it’s small will help see the relation to other things later. The distributive law for a ring says that multiplication is a bilinear function of the underlying abelian group! That is, we can view a ring as an abelian group R equipped with a linear map m:R\otimes R\rightarrow R for multiplication.

April 6, 2007 - Posted by | Abelian Groups, Algebra, Group theory, Universal Properties


  1. […] on tensor products and direct sums We’ve defined the tensor product and the direct sum of two abelian groups. It turns out they interact very […]

    Pingback by More on tensor products and direct sums « The Unapologetic Mathematician | April 17, 2007 | Reply

  2. […] products of modules The notion of a tensor product also extends to modules, but the generalization is not quite as straightforward as it was for […]

    Pingback by Tensor products of modules « The Unapologetic Mathematician | April 30, 2007 | Reply

  3. The third condition in the definition of linearity follows from the first two… I think.

    Comment by Oingo | December 8, 2007 | Reply

  4. I think you mean the third condition in the definition of bilinearity. And I wasn’t asserting that it’s independent, but rather drawing the distinction between the previously defined condition of linearity and this condition of bilinearity.

    Comment by John Armstrong | December 10, 2007 | Reply

  5. […] map defined by . Note carefully that this is linear as a function of the pair . It’s not bilinear — linear in each of and separately — which would mean bringing in the tensor […]

    Pingback by The Inclusion-Exclusion Principle « The Unapologetic Mathematician | July 24, 2008 | Reply

  6. Hi, everyone:
    This is my first time here. Great site.

    I wonder what the general bilinear map t as above is ,

    in the case where A=R^n and B=R^m , as Abelian groups,

    i.e., what bilinear map would make the diagram:

    R^n x R^m –t–> R^n (x) R^m

    etc. commute. Anyone know?

    Comment by Bacile | March 10, 2009 | Reply

  7. It’s pretty straightforward, Bacile. The universal bilinear map from \mathbb{R}^n\times\mathbb{R}^m to \mathbb{R}^n\otimes\mathbb{R}^m sends the pair (u,v) to the tensor product u\otimes v.

    Comment by John Armstrong | March 10, 2009 | Reply

    • O.K., say we are tensoring R^n and R^m as V.Spaces
      over R
      Am I wrong to assume that once we choose specific
      V.Spaces to tensor , that (x) has to be a specific

      Let me give an example for n=m=2, with the only
      bilinear map I can think of : inner-product in R^2 :

      = xx’+yy’

      This is a bilinear map from R^2xR^2 –>R

      Now, we must find a linear map L: R^2(x)R^2 –>R

      that makes the diagram commute, so that we must have:

      L ( (x,y)(x)(x’,y’))= xx’+yy’ =

      Now, in order for L to have this property, (x)

      must be a specific map on (a,b)(x)(c,d) in R^2(x)R^2.

      or do we just appeal to the (valid, I agree) argument

      that shows the existence of this (x) making the diagram


      I agree that (x) is an abstract universal bilinear map,

      but I think that once we choose the V.Spaces to tensor,

      (x) must become a specific map.

      Maybe another way of looking at it is that we can

      use the fact that R^2(x)R^2 ~ R^4 . Then it seems we

      could use this isomorphism to pullback any map

      R^2(x)R^2–>R into a map R^4–>R

      Hope this is not too far out.

      Anyway, thanks for any replies.

      Comment by Bacile | March 11, 2009 | Reply

  8. I just told you what specific map it was…

    Okay, let’s try this. Say your vector space V has a basis \left\{e_i\right\} and W has basis \left\{f_j\right\}. Then you have a basis for V\otimes W given by \left\{e_i\otimes f_j\right\}. So the pair (e_i,f_j) gets sent to e_i\otimes f_j, and we extend by bilinearity.

    Say, for instance, we have the vectors v=v^ie_i and w=w^jf_j. Then the pair (v,w) gets sent to (v^ie_i)\otimes(w^jf_j)=v^iw^j(e_j\otimes f_j). In your example, you’ve got the vectors \begin{pmatrix}x\\y\end{pmatrix} and \begin{pmatrix}x'\\y'\end{pmatrix}. As a pair, they get sent to the linear combination

    \displaystyle xx'\begin{pmatrix}{1}\\{0}\end{pmatrix}\otimes\begin{pmatrix}{1}\\{0}\end{pmatrix}+xy'\begin{pmatrix}{1}\\{0}\end{pmatrix}\otimes\begin{pmatrix}{0}\\{1}\end{pmatrix}+yx'\begin{pmatrix}{0}\\{1}\end{pmatrix}\otimes\begin{pmatrix}{1}\\{0}\end{pmatrix}+yy'\begin{pmatrix}{0}\\{1}\end{pmatrix}\otimes\begin{pmatrix}{0}\\{1}\end{pmatrix}

    Now, we can choose an isomorphism \mathbb{R}^2\otimes\mathbb{R}^2\cong\mathbb{R}^4 with the correspondence


    Then the pair of vectors above is send to the vector


    Comment by John Armstrong | March 11, 2009 | Reply

  9. […] the space itself. Foremost among these is the idea of a bilinear form. This is really nothing but a bilinear function to the base field: . Of course, this means that it’s equivalent to a linear function […]

    Pingback by Bilinear Forms « The Unapologetic Mathematician | April 14, 2009 | Reply

  10. […] scalars and , and for any index . Equivalently, by the defining universal property of tensor products, this is equivalent to a linear function — a linear functional on . That is, the space of […]

    Pingback by Multilinear Functionals « The Unapologetic Mathematician | October 22, 2009 | Reply

  11. Hi everyone. I have a little problem… Let G be an abelian group and consider G\otimes_{\Z}\Q where \Q is the ring of rational numbers and \Z the one of integers. Take an element g\otimes q with g\in G and q\in \Q (it easily seen that any element of G\otimes_{\Z}\Q has this form).
    Is it true that g\otimes q=0 if and ONLY IF g is a torsion element?
    the if part is trivial but I have some truble with the other implication (in any case I’m quite sure it is true). Clearly you have to suppose q\neq 0.

    Comment by Simone | October 28, 2009 | Reply

    • It’s been 11 years, but Is it too late to be pedantic and point out that the ONLY IF part fails for q = 0?

      Comment by Martin | March 17, 2021 | Reply

      • Simone did say at the end that “Clearly you have to suppose q\neq 0“.

        Comment by John Armstrong | March 17, 2021 | Reply

        • I missed that part. I’ll be over there in the corner, looking ashamed 🙂

          Comment by Martin | March 17, 2021 | Reply

  12. The if part isn’t even true. Let q=1 and even if g is torsion the tensor isn’t zero.

    Comment by John Armstrong | October 28, 2009 | Reply

    • of course it is! let n be the order of g, then

      g\otimes 1=g\otimes n/n=ng\otimes 1/n= 0 \otimes 1/n = 0

      If, instead of 1, you put a generic q in the previous line you have the proof of the if part…

      Comment by Simone | October 28, 2009 | Reply

    • Furthermore it is not difficult to prove a more general statement:

      Let G be a torsion abelian group and D a divisible abelian group, then G\otimes D=0.

      Even this new statement can be generalized (it is true not only for abelian groups but for modules over a PID).

      Comment by Simone | October 28, 2009 | Reply

  13. Ah, yes, sorry. It’s been a long time since I’ve bothered with torsion elements.

    Can you prove the contrapositive to handle the only-if part?

    Comment by John Armstrong | October 28, 2009 | Reply

  14. FACT 1
    Let G be a torsion free group, then G embedds into G\otimes Q. (G\otimes Q is the divisible (i.e. injective) envelope of G)
    FACT 2
    Let G be an abelian group, H<G, then H\otimes\Q is a subvector space of G\otimes\Q.

    Using this two facts it is possible to prove the result… in fact if x is a torsion free element of G, then x generates a group isomorphic to Z. Thanks to fact 1
    —>\otimes Q= Q is injective and thanks to fact 2 we have the inclusion
    —>\otimes Q—>G\otimes Q.
    This proves that x\otimes 1 is non-zero.

    I think this can work but in any case it uses deeper results than needed… I really think that must exist a more elementary proof…

    Comment by Simone | October 28, 2009 | Reply

    • I don’t know why but there is something missing in the message the maps were:

      —> \otimes Q


      —> \otimes Q—>G\otimes Q

      Comment by Simone | October 28, 2009 | Reply

      • ok… I cannot write that simbol…. denot with (x) the subgroup generated by x…

        (x) —> (x)\otimes Q


        (x)—>(x) \otimes Q—>G\otimes Q

        Comment by Simone | October 28, 2009 | Reply

  15. In HTML, text contained within angle brackets is interpreted as markup. You have to write &lt; and &gt; to get < and >

    And I don’t really see what your problem is with this proof. It gets right to the heart of the matter, that the behavior of elements under the \mathbb{Z}-action is entirely a matter of the subgroup they generate. Tensoring with \mathbb{Q} kills torsion subgroups and preserves non-torsion subgroups.

    A really non-elementary proof would use something like a structure theorem for abelian groups, which this doesn’t come close to using.

    Comment by John Armstrong | October 28, 2009 | Reply

    • Here is the proof I was looking for! (I wrote it)

      If $g$ is torsion, let $n$ be the order of $g$, then $g\otimes q=ng\otimes q/n=0$. On the other hand suppose, looking for a contradiction, that $g$ is not torsion, then $\left\langle g\right\rangle\cong \Z$ and so $G\otimes_{\Z}\Q\supseteq\left\langle g\right\rangle\otimes_{\Z}\Q\cong \Q\neq 0$. Let now $ag\otimes p$, with $p\in \Q$ and $a\in\N\setminus\{0\}$, be a non-trivial element of $\left\langle g\right\rangle\otimes_{\Z}\Q$ (we can suppose that it has this form), let $p=\frac{p_1}{p_2}$ and $q=\frac{q_1}{q_2}$ with $p_1,p_2,q_1,q_2\in\Z\setminus \{0\}$, then
      $$ag\otimes p=ap_2q_1g\otimes \frac{1}{p_2q_2} \ \ \Rightarrow \ \ 0\neq ap_2q_1(g\otimes q)=a(g\otimes \frac{q_1}{q_2})=a(g\otimes q)$$
      and so $g\otimes q$ is non-trivial contradicting our hypothesis. Then $g$ is torsion.

      Comment by Simone | October 28, 2009 | Reply

  16. Fact is not difficult to prove, it is essentially for definition of tensor product but fact 1 is less trivial. But now I see… Fact 1 is not really needed, in fact
    &lt x &gt is isomorphic to Z whenever x is torsion free, then
    &lt x &gt \otimes Q is isomorphic to Q because Z\otimes G=G for every abelian group G.
    With this remark I like that proof:) thanks

    Comment by Simone | October 28, 2009 | Reply

  17. can tensor product of two abelian groups be group?

    Comment by z | January 8, 2011 | Reply

    • The tensor product of two abelian groups is another abelian group, so yes.

      Comment by John Armstrong | January 8, 2011 | Reply

  18. Thank you, I needed a refresher !. Just curious: are we using the fact ( and can we use this fact) that , given free Abelian groups ( or free objects) C,D with respective bases {c_1,..,c_m} and {d_1,..,d_n}, that a bilinear map B: C x D –>E is then uniquely-defined once we know the values of { B(c_1,0),..,B(c_m,0), B(0,d_1,..B(0,d_m) }? , i.e., {(c_i,0), (0,d_j) ; i=1,..,m ; j=1,2,..,n} is a basis for C x D ? Then a bilinear map B in C x D is mapped to the linear map L in C(x)D so that L( c_i (x) d_j):= B( c_i, d_j)? SO it seems to come down to properties of multilinear algebra. Is there any analog of the tensor product when the objects are not free? Thanks, G.K.

    Comment by G.K | May 23, 2014 | Reply

  19. (Sorry, hit the ‘Submit’ too quickly) and, is it accurate to say that when a function f satisfies the given relations, that the function itself passes to the quotient (I think it comes down to a relation between the kernels / zero set of the spaces in a commuting triangle)? Sorry if I’m wrong, I haven’t done this stuff in a while.

    Comment by G.K | May 23, 2014 | Reply

  20. Sorry again. I meant to say the map L : C(x)D –> E factors through, so we have B((x)(m,n))= B(m(x)n)= L( C x D ) and not ‘passes to the quotient”.

    Comment by G.K | May 23, 2014 | Reply

  21. Basically yes, we are using that correspondence. And yes, if a function f: C\times D\to E satisfies the bilinearity relations it factors through the quotient \pi:C\times D\to C\otimes D. That is, we can factor f=\bar{f}\circ\pi where \bar{f}:C\otimes D\to E.

    Comment by John Armstrong | May 24, 2014 | Reply

  22. Awesome! Thank you!!

    Is the first example what’s meant by a “direct sum”?

    Comment by isomorphismes | July 23, 2014 | Reply

    • Which example do you mean? The post is about tensor products, which are not generally the same thing. A direct sum is something like the Cartesian product of two spaces (\mathbb{R}^m\oplus\mathbb{R}^n=\mathbb{R}^{m+n}), while a tensor product is rather different (\mathbb{R}^m\otimes\mathbb{R}^n=\mathbb{R}^{mn})

      Comment by John Armstrong | July 23, 2014 | Reply

      • Oh sorry, I meant f( a+a′ , b+b′ ) = f(a,b) + f(a′,b′).

        Comment by isomorphismes | July 23, 2014 | Reply

        • Yes, a function that behaves like that should factor through a function defined on the direct sum.

          Comment by John Armstrong | July 23, 2014 | Reply

  23. So maybe the “easiest example” would be 11×11 = ×(10+1,10+1) = ×(10,10) + ×(10,1) + ×(1,10) + ×(1,1) = 100 + 10 + 10 + 1 = 121.

    Comment by isomorphismes | April 10, 2015 | Reply

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

%d bloggers like this: