引用:MIT线性代数_2020年更新讲解课程
下面的一系列分解,涉及了线性代数中的各个重要知识点:
关于求解方程组的分解:
关于特征值/特征向量/奇异值的分解:
首先,矩阵向量乘法,可以视为矩阵的列向量的线性组合;
如图 [ 1 4 5 3 2 5 2 1 3 ] [ x 1 x 2 x 3 ] \left[\begin{array}{lll}1 & 4 & 5 \\3 & 2 & 5 \\2 & 1 & 3\end{array}\right] \left[\begin{array}{l}x_{1} \\x_{2} \\x_{3}\end{array}\right] ⎣ ⎡132421553⎦ ⎤⎣ ⎡x1x2x3⎦ ⎤,可以视为系数为 x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3的线性组合
尝试所有可能的列向量线性组合( x 1 , x 2 , x 3 x_1,x_2,x_3 x1,x2,x3),能够得到列空间 C ( A ) C(\mathbf A) C(A)(即列向量的张成空间)
列空间 C ( A ) C(\mathbf A) C(A)的维度=列空间的基向量个数= A \mathbf A A的秩
例如上面的矩阵 A = [ 1 4 5 3 2 5 2 1 3 ] \mathbf A=\left[\begin{array}{lll}1 & 4 & 5 \\3 & 2 & 5 \\2 & 1 & 3\end{array}\right] A=⎣ ⎡132421553⎦ ⎤只有一列、二列是无关的,而第三列是前两列之和
因此, A \mathbf A A的秩为2,对应 C ( A ) C(\mathbf A) C(A)是二维平面,列空间只有两个基向量(例如选取 A \mathbf A A的第一/二列,即可得到一组基);
另外,在求解方程 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0时,我们还引入零空间的概念:即 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0的所有可能解 x \mathbf x x构成的空间
对于m x n 的秩为r的矩阵,其零空间的维度为 n − r n-r n−r,即零空间有 n − r n-r n−r个基向量(并且这些基向量通过消元后的自由列给出)
CR分解: A = C R \mathbf A=\mathbf C\mathbf R A=CR,其中:
理解1:
C \mathbf C C的列向量为 A \mathbf A A列空间的一组基 , R \mathbf R R指出如何从 C \mathbf C C的列向量线性组合得到 A \mathbf A A
(例如上面, C \mathbf C C只保留了 A \mathbf A A中无关的第一列、第二列;
R \mathbf R R第一列10对应 A \mathbf A A的第一列, R \mathbf R R第二列01对应 A \mathbf A A的第二列(可见 R \mathbf R R中必然含有单位阵 I \mathbf I I ps. 不考虑列的出现顺序的问题), R \mathbf R R第三列11对应 A \mathbf A A的第三列,因为 A \mathbf A A的第三列为 C \mathbf C C的
理解2:
对称的,也可以从向量右乘矩阵的角度,将CR分解视为:
在 R \mathbf R R中保留行空间的一组基,用 C \mathbf C C(的每一行)对 R \mathbf R R的行向量做线性组合
CR分解展示了:任意矩阵的行秩=列秩(行空间的维数=列空间的维数)
证明:
由上可知,CR分解中, C \mathbf C C可视为保留了 A \mathbf A A列空间的一组基; R \mathbf R R可视为保留了 A \mathbf A A行空间的一组基
又因为 A = C R \mathbf A=\mathbf C\mathbf R A=CR,根据矩阵乘法规则, C \mathbf C C的列数= R \mathbf R R的行数
这就是说,行空间和列空间维数相等,行秩=列秩
关于CR分解 A = C R \mathbf A=\mathbf C\mathbf R A=CR的小结:
CR分解的问题:
根据“行秩=列秩”的结论,可以进一步推论:
当矩阵只有一个线性无关的行向量时,必然也只有一个线性无关列向量,此即秩1矩阵:
秩1矩阵是线性代数的基石Building Block,复杂的矩阵可以拆解为秩1矩阵
如图,通常将矩阵乘法理解为“行向量乘以列向量,得到结果中的一个元素”
这里,我们反而理解为“列向量乘以行向量(外积),得到一个秩1矩阵即 b i c i ∗ b_ic_i^* bici∗,各个秩1矩阵叠加得到结果”
先研究齐次方程组 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0,再研究非齐次方程组 A x = b \mathbf A\mathbf x=\mathbf b Ax=b
消元法解方程的过程如下:核心是不断减少某一行方程中的未知量个数
用矩阵乘法表示消元过程,就是LU分解 A = L U \mathbf A=\mathbf L\mathbf U A=LU(需要行交换时,变为 P A = L U \mathbf P\mathbf A=\mathbf L\mathbf U PA=LU)
方程组 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0的所有可能解构成了零空间 N ( A ) N(\mathbf A) N(A),维度 n − r n-r n−r
并且,行空间 C ( A T ) C(\mathbf A^T) C(AT)与零空间 N ( A ) N(\mathbf A) N(A)互为正交补
原因:
对于方程组 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0,第一种理解是:用 x \mathbf x x对 A \mathbf A A的列向量做线性组合;
这里使用另一种理解: A \mathbf A A的每一行与 x \mathbf x x做点积,结果为0,这就是说,所有行向量与 x \mathbf x x正交,从而行空间与零空间正交
同理,将矩阵转置后,研究 A T x = 0 \mathbf A^T\mathbf x=\mathbf 0 ATx=0,也可得出:列空间 C ( A ) C(\mathbf A) C(A)与左零空间 N ( A T ) N(\mathbf A^T) N(AT)互为正交补
由此,整个 R n \mathbf R^n Rn空间和 R m \mathbf R^m Rm空间,可以分别拆解为一对子空间,关系如图:
正交Orthogonal可以理解为垂直Perpendicular的高级说法
向量的正交,就是内积为0: x T y = 0 \mathbf x^T\mathbf y=0 xTy=0
x T x = ∥ x ∥ 2 \mathbf x^T\mathbf x={\|\mathbf x \|}^2 xTx=∥x∥2 则对应了向量本身模长的平方
正交矩阵 Q \mathbf Q Q的列向量构成一组标准正交基(各个基向量相互正交,模长为1)
正交矩阵 Q \mathbf Q Q的性质:
ps. 上图中①为正交矩阵,有 Q \mathbf Q Q满足 Q T Q = Q Q T = I \mathbf Q^T\mathbf Q=\mathbf Q\mathbf Q^T=\mathbf I QTQ=QQT=I;
而②并不是真正的正交矩阵(只有两列,不是方阵),但由于各个列向量标准正交,仍有 Q T Q = I \mathbf Q^T\mathbf Q=\mathbf I QTQ=I
另外,虽然②中 Q Q T ≠ I \mathbf Q\mathbf Q^T\neq\mathbf I QQT=I,但这个 Q Q T \mathbf Q\mathbf Q^T QQT仍为一种投影矩阵(因为多次相乘,仍得到它本身)
对于矩阵 A \mathbf A A(前提:各个列向量线性无关),我们希望使其列向量 a 1 . . . a n \mathbf a_1...\mathbf a_n a1...an变为正交的列向量 q 1 . . . q n \mathbf q_1...\mathbf q_n q1...qn,且各个列向量的模长标准化为1,这就是Gram-Schmidt正交化
用矩阵形式表达,就是QR分解 A = Q R \mathbf A=\mathbf Q\mathbf R A=QR,其中 R = Q T A \mathbf R=\mathbf Q^T\mathbf A R=QTA为上三角阵
例如,原来的列向量 a 1 = r 11 q 1 \mathbf a_1=r_{11}\mathbf q_1 a1=r11q1(第一个基向量,只需要标准化, r 11 = ∥ a 1 ∥ r_{11}=\|\mathbf a_1\| r11=∥a1∥)
而 a 2 = r 12 q 1 + r 22 q 2 \mathbf a_2=r_{12}\mathbf q_1+r_{22}\mathbf q_2 a2=r12q1+r22q2(原来的第二个基向量,是标准化后的第一个/第二个基向量的线性组合)
仍然可以从秩1矩阵的角度入手,将QR分解进一步分解为若干秩1矩阵
当 A x = b \mathbf A\mathbf x=\mathbf b Ax=b的方程个数过多时( m > n m>n m>n,行数大于未知量个数),意味着约束条件过多
此时, A \mathbf A A的列空间只是整个 R m \mathbf R^m Rm空间中的一个平面,然而 b \mathbf b b极有可能不在这个平面内,此时方程无解
我们将 b \mathbf b b投影到 A \mathbf A A的列空间内,从而寻找最优的近似解 x ^ \hat{\mathbf x} x^(此时误差 ∥ e ∥ 2 = ∥ b − A x ^ ∥ 2 \|\mathbf e\|^2=\|\mathbf b-\mathbf A\hat{\mathbf x}\|^2 ∥e∥2=∥b−Ax^∥2最小)