整体或局部: CR的生成空间从块到SVD
6 继上一节 分块
侠骨耐风霜, 雄心吞宇宙。
每个矩阵都有其特别之处,这个特征它可以使用一个数值表示.
对应方阵,它被称为特征值(Eigenvalues),相关向量为特征向量(Eigenvectors)。
相关空间为特征空间。 而对应于非方阵的矩形矩阵,它被称为奇异值(singular values)。
6.1 生成空间 - 从 CR 到 块运算
假设有矩阵A,我们期望找到在A空间的某个向量,使得 A->x = 0。这里使用CR矩阵分解计算。
这在本质上是消元的过程。 也是其中关键,它帮助保证零空间一致。
它有以下几点性质,我们在第一章有提到一些,这里再次重复一下。
(1) N(A) 零空间在R^n 包含全部的 x,它是 A->x =0 的解。
(2) 消元不改变矩阵的值和性质,从A 到 R0 到 R都不会改变 N(A)。
(3) R0 = rref(A) 有单元矩阵I 在r列空间,F在 n - r 列。
(matlab 消元命令 rref(A) R0的含义就是包含0行的 行最简阶梯形)
(4) F中每个列都是一个特解,针对 A->x = 0。
(5) 每个矩阵因子都在 A = CR 中。
(6) 每个矩形 m < n 有非零解 A->x = 0。
6.1 两个CR计算实例
例1 有如下矩阵:
A = ( 1 0 3 5
0 1 4 6)
列3为依赖列,可以通过列1和列2变化得到: 3 = 13 + 0, 4 = 0 + 14
同样的,列4也是依赖列
A->x = 0 方程组为
x1 + 3x3 + 5x4 = 0 (式4.2.1)
x2 + 4x3 + 6x4 = 0 (式4.2.2)
两个零向量特解为
S1 = (-3 S2 = (-5
-4 -6
1 0
0) 1)
A 在零空间中有
AS1 = 0 且 AS2 = 0
验证如下
AS1 = ( 1 0 3 5 * (-3 = (1*-3 + 0 +3 +0 = [0]
0 1 4 6) -4 0 - 4 + 4 + 0)
1
0)
又如例2 :
A = (1 7 0 8
0 0 1 9
0 0 0 0)
此时A->x = 0 方程组为
x1 + 7x2 + x3 + 8x4 = 0 (式4.2.3)
x3 + 9x4 = 0 (式4.2.4)
I 在列空间中的列1,列3,行3全部为0
在单位矩阵中,1仍然是非零首元。
因此有如下零空间特解
当 x2 = 1 x4 = 0 那么 x1 = -7 x3 = 0
当 x2 = 0 x4 = 0 那么 x1 = -8 x3 =-9
因此 S1 = (-7 S2 = (-8
1 0
0 -9
0) 1)
6.2 块计算的特征
r,m,n = 2,2,4 有 A = (I F) 如 (1 0 3 4
0 1 5 6)
r,m,n = 2,3,4 有 A0 = (I F * P 如 (1 7 0 8
0 0) 0 0 1 9
0 0 0 0)
A0有 m - r行非零, I 有r 列,F 有n - r列
P = (1 0 0 0 = (1 0 0 0
0 0 1 0 0 1 0 0
0 1 0 0 0 0 1 0
0 0 0 1) 0 0 0 1)
人们总是需要从A 计算到R,有性质如下
(1) 前 r 个独立列,找到 R中包含的 单元阵 I
(2) R的其余列为 F, 可以通过 H = WF 确定
H 为 A 的非独立列
W 为 A 的独立列
非独立列 = 独立列 乘 R的其余非单元阵
H = W x F
(3) 最后的 m - r 行是零行,可以从R中删除 R0,R0的含义就是包含0行的 行最简阶梯形
r,m,n = 2,3,4
R0 = (I F
0 0)
又比如下块计算:
A = (1 7 3 35 -> (1 7 3 35 I - III -> (1 7 0 8
2 14 6 70 II - 2*I 0 0 0 0 0 0 0 0 交换2,3除3
2 14 9 97) III - 2*I 0 0 3 27) 0 0 3 27) /3
= (1 7 0 8 = R0
0 0 1 9
0 0 0 0)
列基 乘 行基 等于 A 的依赖列2 和 列4:
C x F = ( 1 3 * (7 8 = (7 35 = A 的依赖列2 和 列4
2 6 0 9) 14 70
2 9) 14 97)
R0 中单元阵 I 的位置,位于A的列矩阵 所在位置
m x n m x r r x n
A = CR 为 (1 7 3 35 = ( 1 3 * (1 7 0 8
2 14 6 70 2 6 0 0 1 9)
2 14 9 97) 2 9)
验证 把 1 0 放入 列的 位置2和4
RS1 = 0 = (1 7 0 8 * (-7 = (0)
0 0 1 9 1
0
0)
把 0 1 放入 列的 位置2和4
RS2 = 0 = (1 7 0 8 * (-8 = (-8+0+0+8, 9-9) = (0)
0 0 1 9 0
-9
1)
行列转置 A = CR
A = CR = C( I F )P = (C CF)P
C:独立列向量 F:列向量 P:列转置
A的列基空间 C(A)
A的行基空间 R(A)
P 为列转置,它将列转换回单元阵 I
P^t 为列
消元步骤
(1) 倍加减 ,倍乘标量, 任意行交换
A = ( 1 2 11 17 -> (1 2 11 17 I - 2II = (1 0 3 5 = R
3 7 37 57) II - 3I 0 1 4 6) 0 1 4 6)
[W H] ================> (I W^-1*H)
以上为从 矩阵块的视角看待这个过程.
消元做了转置 Inverted
设可逆 2x2 矩阵 W = (1 2 前 r 行
3 7)
W在A的起始,因为 I 单元阵在 R的起始
乘 W^-1*A = W^-1(W H)
因此 R = (I W^-1 H) = (I F)
依赖列空间 H = (11 17 = W*F
37 57)
等于 WF = (1 2 * (3 5
3 7) 4 6)
在上一个例1 个
(I F)x = 0 的特解是列空间 (-F
I)
在例2中
(I F)Px = 0 特解为 P^t 的列
(I F)P 乘 P^t(-F 降低维度 到 (I F)(-F = (0)
I) I)
当未知变量多于已知量
假设 Ax = 0 有比方程式更多的未知变量 ( n > m )
必然有至少 n - m 的自由列 在 F 中。
Ax = 0 有非零解在 A的零空间中。
例如
A = (1 2 B = (A = (1 2
3 8) 2A) 3 8
2 4
6 16)
例如 M矩阵有2行4列,也就是在平面 有 4个向量(4列),那将会给出0的组合。
可能是三角形,它的秩应该为2.
M = (A 2A) = (1 2 2 4
3 8 6 16)
列空间维数 r(A)= 2
零空间维数 r(N(A)) = n - r
C 有全秩r
PrAPc = (W H C = (W & B = (W H)
J K) J)
W 是左上角的子块,它将以单元阵结束。 W 逆变 H, W invert H.
J,K 以零行 结束。
所以在块乘中
CF = A 的依赖列
CR = A 完整的原矩阵 R中包含单元矩阵。
W^-1 乘以 r 行,可以获得
W^-1*B = (I W^-1*H) = (I F)
减去 J(I W^-1*H) 从 m - r 的低行 (J K) 获得 (0 0) 因此有
P_r*A*P_c = (W H -> (I W^-1*H -> (I W^-1*H = R0
J K) J K) 0 0)
(1) 反转W,并且 J K 为 W, H 的一些组合,
因此当W反转时,就得到 第一行的消元, 也就是开始的 单位矩阵。
(2) 当应用此方法到 第二行时,J,K 行,由于是 0 行,所以为0
将 2x2 矩阵 置于 R,将得到 左上角的 单位矩阵 和 最后的 0行。
矩阵的块计算有助于我们观察和分解巨大的矩形矩阵。为了前进的更清晰,这里做一个小结。
6.3 基本的分块方法和性质
基本的分块方法
1,按特征分块,分块对角矩阵, B1...Bs都是方阵
2,按列分块
3,按行分块
它有一些基本运算性质如下:
1 分块矩阵可逆的充要条件是 矩阵的每一个分块都可逆。
2 同型矩阵的分块矩阵相加,等于各分块矩阵分别相加。
3 分块乘
4 分块转置,先把小块转置,然后整块转置,结果与矩阵整体转置保持一致
小结
终于快到图形识别的基础SVD了,下一节我们继续旅程,举例说明SVD过程,了解其强大功能。
然后后续将与著名的最小二乘方法做对比。
- 点赞
- 收藏
- 关注作者
评论(0)