整体或局部: 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)