  A map $\Phi$ between matrices is said to be zero product preserving if $$
\Phi(A)\Phi(B) = 0 \quad \text{whenever}\quad AB = 0. $$ In this paper, we give
concrete descriptions of an additive/linear zero product preserver $\Phi: {\bf
M}_n(\mathbb{F}) \rightarrow {\bf M}_r(\mathbb{F})$ between matrix algebras of
different dimensions over an arbitrary field $\mathbb{F}$. In particular, we
show that if $\Phi$ is linear and preserves zero products then $$ \Phi(A)=
S\begin{pmatrix} R_1 \otimes A & 0 \cr 0 & \Phi_0(A)\end{pmatrix} S^{-1}, $$
for some invertible matrices $R_1$ in ${\bf M}_k(\mathbb{F})$, $S$ in ${\bf
M}_r(\mathbb{F})$ and a zero product preserving linear map $\Phi_0: {\bf
M}_n(\mathbb{F}) \rightarrow {\bf M}_{r-nk}(\mathbb{F})$ into nilpotent
matrices. If $\Phi(I_n)$ is invertible, then $\Phi_0$ is vacuous. In general,
the structure of $\Phi_0$ could be quite arbitrary, especially when
$\Phi_0({\bf M}_n(\mathbb{F}))$ has trivial multiplication, i.e.,
$\Phi_0(X)\Phi_0(Y) = 0$ for all $X, Y$ in ${\bf M}_n(\mathbb{F})$. We show
that if $\Phi_0(I_n) = 0$ or $r-nk \le n+1$, then $\Phi_0({\bf
M}_n(\mathbb{F}))$ indeed has trivial multiplication. More generally, we
characterize subspaces ${\bf V}$ of square matrices satisfying $XY = 0$ for any
$X, Y \in {\bf V}$. Similar results for double zero product preserving maps are
obtained.
