理解矩阵乘法的解析
矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理解其本质及应用。
矩阵乘法的基础运算规则
1.1 行×列的点积
设矩阵 A A A 为 m × n m \times n m×n 维度,矩阵 B B B 为 n × p n \times p n×p 维度,则它们的乘积 C = A × B C = A \times B C=A×B 是一个 m × p m \times p m×p 的矩阵。
- C C C 中的第 i i i 行第 j j j 列元素 c i j c_{ij} cij 的计算公式为:
c i j = ∑ k = 1 n a i k b k j c_{ij} = \sum_{k=1}^n a_{ik}\, b_{kj} cij=k=1∑naikbkj
即 A A A 的第 i i i 行向量与 B B B 的第 j j j 列向量做点积。
1.2 示例计算
设
A = ( 1 2 3 4 5 6 ) , B = ( − 1 2 0 1 2 1 ) . A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}, \quad B = \begin{pmatrix} -1 & 2 \\ 0 & 1 \\ 2 & 1 \end{pmatrix}. A=(142536),B=⎝⎛−102211⎠⎞.
- A A A 的大小是 2 × 3 2 \times 3 2×3。
- B B B 的大小是 3 × 2 3 \times 2 3×2。
乘积 C = A × B C = A \times B C=A×B 将是一个 2 × 2 2 \times 2 2×2 的矩阵。
计算 C C C 的第 ( 1 , 1 ) (1,1) (1,1) 元素 c 11 c_{11} c11:
c 11 = ( 1 , 2 , 3 ) ⋅ ( − 1 , 0 , 2 ) = 1 × ( − 1 ) + 2 × 0 + 3 × 2 = − 1 + 0 + 6 = 5. c_{11} = (1,2,3) \cdot (-1,0,2) = 1 \times (-1) + 2 \times 0 + 3 \times 2 = -1 + 0 + 6 = 5. c11=(1,2,3)⋅(−1,0,2)=1×(−1)+2×0+3×2=−1+0+6=5.
类似地可以算出其余元素,最终得到:
C = ( 5 9 8 18 ) . C = \begin{pmatrix} 5 & 9 \\ 8 & 18 \end{pmatrix}. C=(58918).
几何视角:线性变换的复合
矩阵乘法可以理解为线性变换的组合。
2.1 线性变换的定义
- 矩阵 A A A 对一个列向量 x x x 的乘积 A x A x Ax,可以视为对向量 x x x 的某种线性变换,比如拉伸、旋转、剪切等。
- 如果有另一个矩阵 B B B 对向量做线性变换,则先用 A A A,再用 B B B 的过程可以表示为 B ( A x ) B(Ax) B(Ax)。
- 这个组合变换可以用一个矩阵 C = B A C = B A C=BA 表示。
2.2 矩阵乘法与变换级联
因此,两个矩阵相乘实际上是两个线性变换的复合:
B × A ↔ T B ∘ T A , B \times A \quad \leftrightarrow \quad T_B \circ T_A, B×A↔TB∘TA,
其中「 ∘ \circ ∘」表示函数的组合:先执行 T A T_A TA,再执行 T B T_B TB。
矩阵乘积的顺序反映了变换的执行顺序,这也是矩阵乘法不满足交换律的原因之一(即通常 A B ≠ B A AB \neq BA AB=BA)。
从行和列的视角理解
3.1 行向量视角
矩阵乘法的结果的某一行,可以看作前一个矩阵的那一行选取并线性组合另一个矩阵的对应列。
例如:
C = A × B , C = A \times B, C=A×B,
则 C C C 的第 i i i 行等于:
(第 i 行的 A ) × B . \text{(第 }i\text{ 行的 }A) \times B. (第 i 行的 A)×B.
假设「第 i i i 行的 A A A」是向量 ( a i 1 , a i 2 , … , a i n ) (a_{i1}, a_{i2}, \dots, a_{in}) (ai1,ai2,…,ain),它会将 B B B 的第 1 行加权 a i 1 a_{i1} ai1、第 2 行加权 a i 2 a_{i2} ai2、…、第 n n n 行加权 a i n a_{in} ain 后相加。
3.2 列向量视角
矩阵 B B B 可以被看作由其列向量 b 1 , b 2 , … , b p b_1, b_2, \dots, b_p b1,b2,…,bp 构成。
- 矩阵乘法 A B AB AB 的结果,可以理解为 A A A 对 B B B 的每一个列向量进行线性变换后,将这些新向量拼成结果矩阵。
- 即:
A B = [ A b 1 A b 2 … A b p ] . AB = \bigl[A b_1 \quad A b_2 \quad \dots \quad A b_p\bigr]. AB=[Ab1Ab2…Abp].
矩阵乘法的多重意义
4.1 几何意义:线性映射
矩阵乘法对应两个线性映射的复合操作,体现了几何变换的顺序性。
4.2 应用意义
矩阵乘法广泛应用于:
- 神经网络:
- 在深度学习的全连接层中,矩阵乘法用于线性组合输入特征,生成下一层的输出。
- 图像变换:
- 矩阵用于表示旋转、缩放、平移等操作,多个变换叠加可通过矩阵乘法实现。
- 马尔可夫链:
- 状态转移矩阵的多步转移可以通过矩阵幂次乘法实现。
矩阵乘法的定义为何是「行×列」?
矩阵乘法定义为「行向量与列向量的点积」,是为了满足以下性质:
- 复合线性变换的一一对应:矩阵乘法能表示线性映射的复合。
- 分配率与结合律:保证代数操作的完整性。
- 与向量运算兼容:保证行×列运算能与向量操作自然衔接。
总结
- 运算层面:矩阵乘法是通过「行向量」与「列向量」的点积计算得到的。
- 几何层面:它对应了线性变换的复合。
- 行和列的视角:从行角度看是线性组合,从列角度看是逐列映射。
- 应用层面:广泛应用于神经网络、图像处理、状态转移等领域。
一句话概括:
矩阵乘法既是一种代数运算规则,也是线性变换复合的几何抽象,连接了数值计算与线性代数的核心思想。