课程简介
18.06是Gilbert Strang教授在MIT开的线性代数公开课,课程视频以及相关资料请见https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/index.htm。
课程笔记
上节课,Strang在讲解高斯消元的过程中给出了三种矩阵相乘的看待角度,也可以说是计算方法:MIT18.06线性代数课程笔记2a:矩阵相乘的三种看待角度。
这节课,他首先系统的给出了矩阵相乘的五种方法,之后又讲解了矩阵求逆的概念。本文主要总结矩阵相乘的相关内容。
1. 定义
矩阵
Am×n
和矩阵
Bn×p
相乘
AB=C
,有
C
是
2. 五种计算方法
2.1.
A
的行向量和B 的列向量相乘
这个方法非常直接简单,从上诉公式可得
所以 C 向量的第
2.2. A 与
B
的列向量相乘
详情可以参考MIT18.06线性代数课程笔记2a:矩阵相乘的三种看待角度。
结论是
2.3.
A
的行向量与B 相乘
详情可以参考MIT18.06线性代数课程笔记2a:矩阵相乘的三种看待角度。
结论是
C
的第
2.4. A 的列向量和
B
的行向量相乘
考虑
有 ak⋅b′k 为 m×p 的矩阵,且 [ak⋅b′k]ij=aik∗bkj 。所以 cij=[a1⋅b′1]ij+[a2⋅b′2]ij+⋯+[an⋅b′n]ij ,从而有 C=a1⋅b′1+a2⋅b′2+⋯+an⋅b′n 。
所以
C
为
2.5. 分块矩阵相乘
分块矩阵对于如何分块没有限制,只要满足矩阵相乘的条件,即
A
的列数等于
先说结论:
课上Strang并没有对其作出解释,这里笔者根据自己的理解写一段证明,正确性有待验证,还望指教。
先证明
[A1,A2]TB=[A1B,A2B]T,即可以对左侧矩阵做行切分。考虑矩阵乘法的row picture,即 C 的第
i 行为 B 的行向量的线性组合,系数由A 的第 i 行唯一确定。所以对左侧矩阵做行切分,并不影响输出结果,因为C 的第 i 行只与A 的第 i 行有关。类似的,有
A[B1,B2]=[AB1,AB2] ,即可以对右侧矩阵做列切分。证明方法和上面类似,因为输出的第 j 个列向量是
A 列向量的线性组合,系数由 B 的第j 个列向量唯一确定。所以对右侧矩阵做列切分,不影响输出结果。若对左侧矩阵做列切分,则必然需要对右侧矩阵做行切分,从而满足矩阵相乘的条件。若对右侧矩阵做行切分,也必然对应着左侧矩阵的列切分。从而最后一种情况是 [A1,A2][B1,B2]T=A1B1+A2B2 。
这里需要用到矩阵乘法的第四种计算方法: A 的列向量和
B 的行向量的乘法。对左侧矩阵做列切分以及对右侧矩阵做行切分都没有影响到 A 的列向量以及B 的行向量,从而 A1B1 等于 n1 个 A 的列向量和B 的行向量相乘相加的结果, A2B2 等于 n2 个 A 的列向量和B 的行向量相乘相加的结果,两者相加即可得到 n 个A 的列向量和 B 的行向量相乘相加的结果,即为AB 。对任意分块矩阵相乘应用上诉三个结论以及矩阵的结合律即可得到最终结论。