文章目录

为什么矩阵乘法不满足交换律但满足结合律

发布于 2026-07-25 04:49:13 · 浏览 28 次 · 评论 0 条

为什么矩阵乘法不满足交换律但满足结合律

矩阵乘法 简单来说,就是两个矩形数字阵列按照特定规则进行运算。这个规则看起来有点复杂,但它背后隐藏着两个关键性质:不满足交换律(通常 A×B 不等于 B×A)和满足结合律(A×B)×C 一定等于 A×(B×C))。下面通过手把手的步骤,让你彻底理解这两件事。


一、先掌握矩阵乘法的核心规则

  1. 确认维度:只有第一个矩阵的列数等于第二个矩阵的行数时,乘法才能进行。例如,一个 2×3 的矩阵只能乘以一个 3×4 的矩阵,结果是一个 2×4 的矩阵。

  2. 计算一个元素:结果矩阵中第 i 行第 j 列的元素,等于第一个矩阵的第 i 行与第二个矩阵的第 j 列对应元素相乘后求和。

    • 公式:(AB)_{ij} = Σₖ A_{ik} × B_{kj}
    • 其中 k1 跑到第一个矩阵的列数(也是第二个矩阵的行数)。
  3. 动手算一遍:取两个简单矩阵练习。

假设矩阵 A 为:

A = [1 2]
    [3 4]

矩阵 B 为:

B = [5 6]
    [7 8]

计算 A×B

  • (1,1) = 1×5 + 2×7 = 5 + 14 = 19
  • (1,2) = 1×6 + 2×8 = 6 + 16 = 22
  • (2,1) = 3×5 + 4×7 = 15 + 28 = 43
  • (2,2) = 3×6 + 4×8 = 18 + 32 = 50
    结果:
    A×B = [19 22]
        [43 50]

二、验证不满足交换律

1. 计算 B×A(与上面顺序相反)

  • (1,1) = 5×1 + 6×3 = 5 + 18 = 23
  • (1,2) = 5×2 + 6×4 = 10 + 24 = 34
  • (2,1) = 7×1 + 8×3 = 7 + 24 = 31
  • (2,2) = 7×2 + 8×4 = 14 + 32 = 46
    结果:
    B×A = [23 34]
        [31 46]

2. 对比两个结果

A×BB×A 完全不同(19 vs 23, 22 vs 34, …)。即使两个矩阵都是 2×2,交换顺序后结果也不相等。这就是不满足交换律的直接证据

3. 解释根本原因(用生活比喻)

矩阵乘法本质是“线性变换的复合”。比如:

  • 操作1:先旋转90度,再拉伸2倍。
  • 操作2:先拉伸2倍,再旋转90度。

两种顺序得到的结果通常不同(先旋转再拉伸 vs 先拉伸再旋转,物体最终位置不同)。矩阵乘法正是这种先后顺序的数学表达,所以交换顺序相当于改变了操作流程,结果自然不一样。

从计算上看,每个元素是行与列的点积:(AB)_{ij} 用的是 A 的第 i 行和 B 的第 j 列;而 (BA)_{ij} 用的是 B 的第 i 行和 A 的第 j 列。由于 A 和 B 的数字分布不同,点积结果很难偶然相等。

4. 特殊例外(但一般情况不成立)

当 A 和 B 都是标量矩阵(如 A = [2 0; 0 2])或同时可对角化时,交换律可能成立。但这属于特例,不能改变“一般不满足”的结论。


三、验证满足结合律

1. 定义运算顺序

给定三个矩阵 A(m×n)、B(n×p)、C(p×q),维度必须完全匹配。结合律说的是:先算 (A×B) 再乘 C,与先算 (B×C) 再乘 A,结果完全相同

2. 用公式证明(核心推理)

根据矩阵乘法定义:

  • (AB) 是一个 m×p 矩阵,其第 (i,k) 元素为 Σⱼ A_{ij} B_{jk}
  • 再乘 C:[(AB)C]_{il} = Σₖ (AB)_{ik} C_{kl} = Σₖ (Σⱼ A_{ij} B_{jk}) C_{kl} = Σₖⱼ A_{ij} B_{jk} C_{kl}

同样计算 A(BC)

  • (BC) 是一个 n×q 矩阵,其第 (j,l) 元素为 Σₖ B_{jk} C_{kl}
  • 再乘 A:[A(BC)]_{il} = Σⱼ A_{ij} (BC)_{jl} = Σⱼ A_{ij} (Σₖ B_{jk} C_{kl}) = Σⱼₖ A_{ij} B_{jk} C_{kl}

两者最终都是对 A_{ij} B_{jk} C_{kl} 对所有 jk 求和,只是求和顺序不同。乘法满足交换律(这里指数字乘法),所以求和顺序不影响结果。因此 [(AB)C]_{il} = [A(BC)]_{il},对所有 i,l 成立。结合律成立

3. 从线性变换角度理解

把矩阵看作线性变换的算子。变换的复合运算天然满足结合律:(f∘g)∘h = f∘(g∘h),因为无论括号怎么加,最终都是依次应用 h→g→f 变换。矩阵乘法就是变换复合的代数表示,所以结合律自动继承。

4. 数值验证(可选)

用上面 A、B 和另一个矩阵 C 试算:

C = [9  10]
    [11 12]

先算 (A×B)×C

  • 已知 A×B = [19 22; 43 50]
  • 乘 C:
    • (1,1) = 19×9 + 22×11 = 171 + 242 = 413
    • (1,2) = 19×10 + 22×12 = 190 + 264 = 454
    • (2,1) = 43×9 + 50×11 = 387 + 550 = 937
    • (2,2) = 43×10 + 50×12 = 430 + 600 = 1030

再算 A×(B×C)

  • 先算 B×C
    • (1,1) = 5×9 + 6×11 = 45 + 66 = 111
    • (1,2) = 5×10 + 6×12 = 50 + 72 = 122
    • (2,1) = 7×9 + 8×11 = 63 + 88 = 151
    • (2,2) = 7×10 + 8×12 = 70 + 96 = 166
  • 再用 A 乘 B×C
    • (1,1) = 1×111 + 2×151 = 111 + 302 = 413
    • (1,2) = 1×122 + 2×166 = 122 + 332 = 454
    • (2,1) = 3×111 + 4×151 = 333 + 604 = 937
    • (2,2) = 3×122 + 4×166 = 366 + 664 = 1030

结果完全一致。验证通过


四、总结两个性质的核心区别

性质 结论 原因
交换律 一般不成立 矩阵乘法对应线性变换的复合顺序,顺序不同往往结果不同。计算上,行与列的点积顺序交换后数值无必然联系。
结合律 始终成立 多重求和只改变求和顺序,不改变最终和。线性变换的复合运算本身满足结合律,矩阵乘法是其代数表达。

这两个性质是矩阵运算的基石:交换律缺失意味着不能随意调换矩阵顺序,否则整条计算链条会改变;结合律存在让我们可以自由选择先算哪两个矩阵,简化计算时非常有用(例如在数值计算中先合并小矩阵以减少乘法次数)。

现在你已能清晰解释:为什么“先乘后加”与“先加后乘”对矩阵来说不是一回事,但“先A乘B后乘C”与“先B乘C后乘A”永远是一回事。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文