# 2.2 矩阵乘法

两个矩阵相乘得到第三个矩阵：

$$
\bf C=AB
$$

为了使得定义合法，我们需要 $\mathbf A$ 的形状为 $m\times n$, $\mathbf B$ 的形状为 $n\times p$，得到的矩阵为 $\mathbf C$ 的形状为 ${m\times p}$。

定义为

$$
C_{i,j} = \sum_{k} A_{i,k}B_{k,j}
$$

注意矩阵乘法不是逐元素相乘，逐元素相乘又叫 `Hadamard` 乘积，记作 $\bf A\odot B$。

向量可以看出是列为 $1$ 的矩阵，两个相同大小的向量 $\bf x, y$ 的点乘（`dot product`）或者内积，可以使用矩阵乘法表示为 $\bf x^\top y$。

我们也可以把矩阵乘法理解为： $C_{i,j}$ 表示 $\bf A$ 的第 $i$ 行与 $\bf B$ 的第 $j$ 列的点乘。

### 矩阵乘法的性质

矩阵乘法满足结合律（`associative`）和分配律（`distributive`）：

$$
\begin{align}
\bf A(B+C)&=\bf AB+AC \\
\bf A(BC)&=\bf (AB)C
\end{align}
$$

矩阵乘法通常是不可交换的：

$$
\bf AB \neq BA
$$

但是向量内积是可交换的：

$$
\bf x^\top y = y^\top x
$$

矩阵乘法的转置形式如下：

$$
\bf (AB)^\top = B^\top A^\top
$$

利用这个式子和标量转置等于其本身，我们马上得到内积是可交换的结论：

$$
\bf x^\top y = (x^\top y)^\top = y^\top x
$$

### 线性方程组

线性方程组可以表示为矩阵和向量乘法的形式：

$$
\bf Ax = b
$$

其中 $\mathbf A\in\mathbb R^{m\times n}, \mathbf b\in\mathbb R^{m}$ 是已知的，$\mathbf x\in\mathbb R^{n}$ 是我们要求的未知量。

它是线性方程组的一种紧凑表示：

$$
\begin{align}
\mathbf A_{1,:} \mathbf x&=b_1 \\
\mathbf A_{2,:} \mathbf x&=b_2 \\
\dots &\\
\mathbf A_{m,:} \mathbf x&=b_m \\
\end{align}
$$

686cced04a5d62bbe8c50ee126e3ae3b30c39af4
ipynb
Jupyter Notebook
Deep-Learning/Part-I/Chap-02-Linear-Algebra/02-02-Multiplying-Matrices-and-Vectors.ipynb
binzhihao/py-ai-notebook
31560c7cbd3d6d123e310cda4080d40e5e2b23ac
MIT
2018-05-30T13:34:14.000Z
2019-01-21T07:31:14.000Z
Deep-Learning/Part-I/Chap-02-Linear-Algebra/02-02-Multiplying-Matrices-and-Vectors.ipynb
binzhihao/py-ai-notebook
31560c7cbd3d6d123e310cda4080d40e5e2b23ac
MIT
Deep-Learning/Part-I/Chap-02-Linear-Algebra/02-02-Multiplying-Matrices-and-Vectors.ipynb
binzhihao/py-ai-notebook
31560c7cbd3d6d123e310cda4080d40e5e2b23ac
MIT
Qwen/Qwen-72B
1. YES
2. YES