在线性代数中矩阵乘法是最基础也最重要的运算之一。它不仅在数学理论中有广泛应用也是计算机图形学、机器学习、物理模拟等工程领域的核心工具。本文将详细解释两种常见的矩阵乘法形式矩阵与向量的乘法和矩阵与矩阵的乘法并通过具体示例展示其计算过程并附上对应的 Python 实现代码。矩阵与向量乘法设有一个大小为 $ m \times n $ 的矩阵 $ A $以及一个 $ n $ 维列向量 $ x $即维度为 $ n \times 1 $它们的乘积 $ Ax $ 是一个 $ m $ 维列向量。结果向量的第 $ i $ 个分量等于矩阵 $ A $ 的第 $ i $ 行与向量 $ x $ 的点积。示例令A[123456],x[78] A \begin{bmatrix} 1 2 \\ 3 4 \\ 5 6 \end{bmatrix}, \quad x \begin{bmatrix} 7 \\ 8 \end{bmatrix}A135246,x[78]则Ax[1⋅72⋅83⋅74⋅85⋅76⋅8][235383] Ax \begin{bmatrix} 1 \cdot 7 2 \cdot 8 \\ 3 \cdot 7 4 \cdot 8 \\ 5 \cdot 7 6 \cdot 8 \end{bmatrix} \begin{bmatrix} 23 \\ 53 \\ 83 \end{bmatrix}Ax1⋅72⋅83⋅74⋅85⋅76⋅8235383此运算要求向量的维度必须与矩阵的列数一致否则无法进行乘法。Python 代码实现importnumpyasnp# 定义矩阵 A (3x2) 和向量 x (2,)Anp.array([[1,2],[3,4],[5,6]])xnp.array([7,8])# NumPy 中默认为一维数组可直接与矩阵相乘# 计算 AxresultA x# 或者使用 np.dot(A, x)print(result)输出[23 53 83]注意NumPy 中的一维数组在矩阵乘法中会自动适配为列向量或行向量只要维度兼容即可。若需显式使用列向量形状为(n, 1)可使用x.reshape(-1, 1)。矩阵与矩阵乘法设有两个矩阵 $ A $尺寸 $ m \times n $和 $ B $尺寸 $ n \times p $。只有当 $ A $ 的列数等于 $ B $ 的行数时乘积 $ AB $ 才有定义结果是一个 $ m \times p $ 的矩阵。矩阵乘积中的每个元素是前一个矩阵对应行与后一个矩阵对应列的点积。示例考虑以下两个 matricesA[123456],B[789101112] A \begin{bmatrix} 1 2 3 \\ 4 5 6 \end{bmatrix}, \quad B \begin{bmatrix} 7 8 \\ 9 10 \\ 11 12 \end{bmatrix}A[142536],B791181012则AB[1⋅72⋅93⋅111⋅82⋅103⋅124⋅75⋅96⋅114⋅85⋅106⋅12][5864139154] AB \begin{bmatrix} 1 \cdot 7 2 \cdot 9 3 \cdot 11 \quad 1 \cdot 8 2 \cdot 10 3 \cdot 12 \\ 4 \cdot 7 5 \cdot 9 6 \cdot 11 \quad 4 \cdot 8 5 \cdot 10 6 \cdot 12 \end{bmatrix} \begin{bmatrix} 58 64 \\ 139 154 \end{bmatrix}AB[1⋅72⋅93⋅114⋅75⋅96⋅111⋅82⋅103⋅124⋅85⋅106⋅12][5813964154]需要注意的是矩阵乘法不满足交换律即一般情况下 $ AB \neq BA $。此外只有当前一个矩阵的列数等于后一个矩阵的行数时乘法才有定义。Python 代码实现importnumpyasnp# 定义矩阵 A (2x3) 和 B (3x2)Anp.array([[1,2,3],[4,5,6]])Bnp.array([[7,8],[9,10],[11,12]])# 计算 ABCA B# 或者使用 np.dot(A, B)print(C)输出[[ 58 64] [139 154]]小结运算类型输入维度输出维度计算方式矩阵 × 向量$ m \times n $ 与 $ n \times 1 $$ m \times 1 $每行与向量点积矩阵 × 矩阵$ m \times n $ 与 $ n \times p $$ m \times p $每行与每列点积理解这些基本运算是掌握更高级线性代数概念如线性变换、特征值、奇异值分解等的前提。无论是在理论推导还是实际编程中清晰地掌握矩阵乘法的规则和计算过程都至关重要。Python 中借助 NumPy 库可以高效、简洁地完成这些运算。运算符自 Python 3.5 起支持或np.dot()函数是执行矩阵乘法的标准方式。