Calculation of Tensor Product of Modules I have been learning abstract theory of tensor product of modules and I do know some abstract properties (e.g., associativity and distributivity of tensor product of modules). But I suddenly found that, sadly, I couldn’t even calculate the tensor product of some concrete modules…
For example, $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ and $\mathbb{Z}\otimes_\Bbb{Z} \Bbb{F}_p$, where the former is $0$ and the latter is $\mathbb{F}_p$, according to the answer under this OP. Another example will be $(\mathbb{Z} \otimes \mathbb{Z}_n) / n(\mathbb{Z} \otimes \mathbb{Z}_n) \cong \mathbb{Z}_n / n \mathbb{Z}_n$, according to this post.
My question is, how to calculate the tensor product of two concrete modules, say e.g., $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ and $\mathbb{Z} \otimes_\mathbb{Z} \mathbb{F}_p$? Also if possible, can anyone elaborate a bit on the equality $(\mathbb{Z} \otimes \mathbb {Z}_n) / n(\mathbb{Z} \otimes \mathbb{Z}_n) \cong \mathbb{Z}_n / n\mathbb{Z}_n$, i.e., why it is true. Thanks for help!
Here is the definition of tensor product of modules in our book.

Let $R$ be a ring. Let $M$ be a right $R$-module and $N$ be a left $R$-module.
Let $F$ be the free abelian group generated by the set $M \times N$.
Let $K$ be the subgroup of $F$ generated by all elements of the following three forms:
For all $u, u' \in M; v, v' \in N; r \in R$,

*

*$(u + u', v) - (u, v) - (u', v)$;


*$(u, v + v') - (u, v) - (u, v')$;


*$(ur, v) - (u, rv)$.
We define $M \otimes_R N$ as the quotient group $F/K$.

 A: You have the correct definition of the tensor product! To help us communicate clearly about tensor products, when $u \in M$ and $v \in N$, we write $u \otimes v$ to denote the coset/equivalence class of the pair $(u,v)$ in $M \otimes_R N$.
Note that there may be elements of $M \otimes_R N$ which are not of the form $u \otimes v$, but every element of $M \otimes_R N$ is a finite sum of elements of this form, i.e. $\{u \otimes v : u \in M, v \in N\}$ generates $M \otimes_R N$. Elements of the form $u \otimes v$ are called simple tensors.

Fact For any ring $R$ and any left $R$-module $M$, there is a natural isomorphism $R \otimes_R M \cong M$ given by $r \otimes m \mapsto rm$.
Before we can prove this fact, we need to parse it. First, note that the formula $r \otimes m \mapsto rm$ only tells us what to do with simple tensors, and a priori there may be elements of $R \otimes_R M$ which are not simple tensors! That's ok, because simple tensors generate $R \otimes_R M$, so any homomorphism from $R \otimes_R M$ is determined by what it does to simple tensors. There's a much more substantial problem, though: how do we know that this function is even well-defined? It's common to be able to write the same simple tensor in more than one way, e.g. $2 \otimes m = 1 \otimes 2m$. Moreover, it is usually possible to write an element of $R \otimes_R M$ as a sum of simple tensors in many different ways, e.g. $1 \otimes m + 1 \otimes m = 2 \otimes m$. So it's unclear at the moment that this formula is well-defined on simple tensors, let alone that it extends to a well-defined function on all elements of $R \otimes_R M$!
Well, here is where we should return to the actual definition of $R \otimes_R M$. We actually want to define a homomorphism $F/K \to M$, where $F$ is the free abelian group on $R \times M$ and $K$ is the subgroup generated by the three types of elements you listed.
To do this, we should first define a homomorphism $F \to M$, then show that $K$ is contained in the kernel of this homomorphism, and thus conclude that it descends to a well-defined homomorphism $F/K \to M$.
So, let's do it! In the end, we want to send $r \otimes m \in F/K$ to $rm \in M$. So, we should send the pair $(r,m) \in F$ to $rm \in M$. Indeed, since $F$ is free on $R \times M$, the assignment $(r,m) \mapsto rm : R \times M \to M$ extends to a unique homomorphism $\varphi : F \to M$.
Next, we check that $K \leq \ker(\varphi)$. To do this, we must simply verify that each of the three types of generators of $K$ is sent to $0$ by $\varphi$.
(1) For any $r, r' \in R$ and $m \in M$, we have
$$\varphi((r+r',m) - (r,m) - (r',m)) = (r+r')m - rm - r'm = 0,$$
as desired.
(2) For any $r \in R$ and $m, m' \in M$, we have
$$\varphi((r,m+m') - (r,m) - (r,m')) = r(m+m') - rm - rm' = 0,$$
as desired.
(3) For any $r,s \in R$ and $m \in M$, we have
$$\varphi((rs,m)-(r,sm)) = (rs)m-r(sm) = 0,$$
as desired.
Easy! So, $K \leq \ker(\varphi)$, and so $\varphi$ descends to give a well-defined homomorphism $f : R \otimes_R M \to M$. In particular, $f(r \otimes m) = \varphi((r,m)) = rm$, just as we wanted.
So, we've constructed the desired map, and we just need to show it's an isomorphism. This is the easier part: define $g : M \to R \otimes_R M$ by $g(m) = 1 \otimes m$, and just check that $f \circ g = \operatorname{id}_M$ and $g \circ f = \operatorname{id}_{R \otimes_R M}$. Done!
Quick note: What we did here is construct an isomorphism of abelian groups, but it turns out that $R \otimes_R M$ has a natural left $R$-module structure given by $s(r \otimes m) = sr \otimes m$, and indeed this isomorphism is also $R$-linear.

This was quite long, but it's important to go through all of this detail at first. Let me highlight the key strategy though: to understand a tensor product, we must construct homomorphisms to and from it. Since the tensor product is a quotient of a free group, we have a standard toolkit for building homomorphisms from a tensor product! We first define a homomorphism from the free group, which really means defining an arbitrary function from its basis. Then we check that $K$ lies in the kernel of this homomorphism, which really means checking that our function on the basis was "bilinear" (or if you prefer, this is what "bilinear" means). That's all we have to do! So,
Slogan Homomorphisms $M \otimes_R N \to A$ are "the same as" bilinear functions $M \times N \to A$.
The formalized version of this slogan is called the universal property of tensor products.

Anyway, that handles $\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{F}_p \cong \mathbb{F}_p$.
Next, let's do $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$. Here, we'll reason more directly to show that this abelian group is trivial. Since $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$ is generated by simple tensors, it suffices to show that every simple tensor is $0$. So why should that happen?
First: any simple tensor of the form $u \otimes 0$ or $0 \otimes v$ is equal to $0$. Why? Because $(u,0) = (u,0) + (u,0) - (u,0+0) \in K$, so $u \otimes 0 = 0$ (and likewise on the other side for $0 \otimes v$).
So, if we start with a simple tensor in $\mathbb{Q} \otimes_{\mathbb{Z}} \mathbb{F}_p$, we'd like to manipulate it into the form $u \otimes 0$ or $0 \otimes v$. Here's one nice observation: scaling any element of $\mathbb{F}_p$ by $p$ yields $0$. So, $$xp \otimes y = x \otimes py = x \otimes 0 = 0$$ for any $x \in \mathbb{Q}$ and $y \in \mathbb{F}_p$. But every element of $\mathbb{Q}$ is of the form $xp$, because every element of $\mathbb{Q}$ is divisible by $p$! Putting this all together:
Let $x \in \mathbb{Q}$ and $y \in \mathbb{F}_p$ be arbitrary. Then
$$x \otimes y = (\frac{x}{p} p) \otimes y = \frac{x}{p} \otimes (py) = \frac{x}{p} \otimes 0 = 0.$$
Thus, every simple tensor in $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ is $0$. Since $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p$ is generated by simple tensors, $\mathbb{Q} \otimes_\mathbb{Z} \mathbb{F}_p = 0$.

Can you answer your final question, about the isomorphism $$\frac{\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}_n}{n(\mathbb{Z} \otimes_{\mathbb{Z}} \mathbb{Z}_n)} \cong \frac{\mathbb{Z}_n}{n\mathbb{Z}_n}?$$
