標籤:

矩陣的四個子空間及其聯繫

對任意一個矩陣 A_{m	imes n} 來說(本文只考慮實矩陣),均有四個空間與其對應,他們分別是列空間(column space)、行空間(row space)、零(核)空間(nullspace or kernel space)、左零空間(left nullspace)。熟悉這些空間的性質及其聯繫能幫助我們在腦海中建立一個舞台,線代中的一些重要內容便是在這個舞台上展開的,比如線性方程組(linear equation system) Ax=b 解的情況、奇異值分解(SVD)的幾何直觀。

Part 1 Four Subspaces

考慮一個矩陣 A_{m	imes n} ,不妨設其行階梯形矩陣為R_{3	imes 5}= left[ egin{matrix} 1&3&5&0&7\ 0&0&0&1&2\ 0&0&0&0&0 end{matrix} 
ight] 其主元分別在在1-1th, 4-2th兩個位置。主元數目在取值上與矩陣的秩相等,所以 r=rank(A)=rank(R)=2

1.1列空間的維度與秩相等

列空間(column space)就是由矩陣的列向量組張成的空間。

此處為 column_1=(1,0,0)column_4=(0,1,0) 張成的空間。那麼 column_2,column_3,column_5 為什麼不作為基向量呢?因為這三個向量可以由 column_1column_4 線性表示,在三維空間中表現為與這兩個基向量共面,用它們作為基的一部分不能擴展基向量組的表達能力,根據奧卡姆剃刀原理捨棄它們。

(1,0,0)和(0,1,0) 構成的無疑是一個3維空間中的(2維)平面,正好維度與rank(R)相等。觀察我們選取的基向量 column_1column_2 ,他們是主元所在的列,也稱為pivot columns

1.2行空間的維度與秩相等

行空間(row space)就是由矩陣的行向量組張成的空間。

此處為 row_1=(1 3  5  0  7)row_2=(0 0  0  1  2)張成的空間, row_3 為零向量,並不能作為空間的基向量(basis vector)。雖然行向量有5個元素,看似是在一個5維的空間中,但實際上因為我們的基向量只有兩個,它們只能張成一個嵌套在5維空間中的2維子空間。我提供一個理解的思路,空間中任意向量由該空間基向量的線性組合表示,即 forall rsubset rowspace, exists  a,bsubset mathbb{R} , r=acdot row_1+bcdot row_2 ,這個式子意味著我們可以用 向量(a,b)唯一標識 r , (a,b) 只有兩個元素,所以 實際上 rsubset mathbb{R^2}

再觀察下我們選的基向量 row_1row_2 實際上是主元所在的行,這樣的行稱為pivot rows

1.3零空間的維度等於列數減去秩(n-r)

零空間(nullspace or kernel space)是 Ax=0(Leftrightarrow Rx=0) 的全部解所構成的空間。

為了形象直觀,我們先來討論下 Rx=0 的解。 left[ egin{matrix} 1&3&5&0&7\ 0&0&0&1&2\ 0&0&0&0&0 end{matrix} 
ight]cdot left[ egin{matrix} x_1\x_2\x_3\x_4\x_5 end{matrix} 
ight]= left[ egin{matrix} 0\0\0 end{matrix} 
ight] ,第一列和第四列含有主元,為pivot columns,其對應的 x_1x_4 稱為pivot variables。其他三列不含主元,稱為free columns,相應的 x_2,x_3,x_5 則稱為free variables,free variables可以自由取值,分別取三組值 (1,0,0)(0,1,0)(0,0,1) ,將三組值分別回代入方程,可解得相應的 x_1,x_4。這樣 x_1sim x_5 的值就都知道了,我們可以寫出方程 Rx=0 的解向量 s_2,s_3,s_5

s_2=left[ egin{matrix} -3\1\0\0\0 end{matrix} 
ight] , s_3=left[ egin{matrix} -5\0\1\0\0 end{matrix} 
ight] , s_5=left[ egin{matrix} -7\0\0\-2\1 end{matrix} 
ight] ,這三個向量被稱為special solutions。

容易驗證, s_2,s_3,s_5 的任意線性組合 s=acdot s_2+bcdot s_3+ ccdot s_5(a,b,c subset mathbb{R}) 也為 Rx=0 的解,這意味著以 s_2,s_3,s_5 為基的空間中任一向量 sRx=0 的解。這個以special solutions為基的空間就是 R(or A) 的kernel space。

1.4左零空間的維度等於行數目減去秩(m-r)

左零空間 (left nullspace)是 R^	op y=0(Leftrightarrow y^	op R=0) 的全部解所構成的空間。

零空間定義中是未知向量右乘 R ,而這裡是未知向量左乘 R 按照1.3的方法進行討論可得:

R^	op y=0的m-r個special solutions為基的空間就是 left nullspace。

上面的討論是用A的行階梯形矩陣R來作討論的,一些人肯定會提出疑問?我們討論的是R的四個子空間,這不代表A的四個子空間也具有相同的性質,其實可以證明A和R的子空間的維度是相同的。可參考Introduction to linear algebra 4th edtion p186-p189, The Four Subspace for A

Part 2 四個子空間的聯繫

圖1

2.1 四個子空間的正交性(orthogonality)

起初看到這張圖時我並不是很理解,但從直觀上可以看出它是想表達 row spaceot null space , column spaceot left null space

在我們證明它們之前,首先,我們得知道向量垂直的定義:

若兩向量內積為0,即 v^	op w=0 ,則稱 v ot w .

將這個垂直(perpendicular)的概念從向量的層次擴展到空間的層次,給出以下定義:

定義一:Two subspaces V and W of a vector space are orthogonal if every vector v in V is perpendicular to every vector w in W

舉個栗子,垂直於一張平鋪的紙(2-D空間)作該平面的法線(一條線是一個1-D空間),這兩個空間即是垂直的。

Theorem1: nullspace ot rowspace Proof:

根據nullspace的定義,我們有

forall xsubset nullspace N(A) , Ax=left[ egin{matrix}row 1 cdot x\ vdots \row m cdot xend{matrix} 
ight] = left[ egin{matrix} 0\ vdots\0end{matrix}
ight] ,即 row_i(i=1,2,dots,m)x=0

根據rowspace的定義,我們有forall rsubset rowspace, exists數對a_1,a_2, dots, a_msubset mathbb{R},使得r=a_1 row_1+ dots+a_m row_m所以 r cdot x=(a_1 row_1+ dots+a_m row_m) cdot x=0

即nullspace中任一向量與rowspace中任一向量垂直。

由定義一知: nullspace ot rowspace

上面證明了big picture中的左半部分,接著證明右半部分

Theorem2: column space ot left  nullspace Proof:

根據left nullspace的定義,我們有

forall ysubset left nullspace,A^	op y=left[egin{matrix} column_1^	op cdot y\ dots\ column_n^	op cdot y end{matrix}
ight]=left[ egin{matrix}0\.\0 end{matrix}
ight]

column i^	op cdot y=0

根據column space的定義,我們有

forall c subset column space, exists b_1,b_2,dots,b_n subset mathbb{R},使得c=b_1column_1+dots+b_ncolumn_n

所以 c^	op cdot y=(b_1column_1^	op+dots+b_ncolumn_n^	op) cdot y=0

因此: column space ot left  nullspace

2.2正交補(orthogonal complement)

在Part 1中我們知道了四個子空間的維度,其中 dim(row space)=dim(column space)=rank(A)=r\ dim(nullspace)=n-r,dim(left-nullspace)=m-r

不難發現,當 A_{m	imes n} 給定以後, mn 也就給定了,它們就成了常量(constant)

dim(row space)+dim(nullspace)=n=constant

dim(column space)+dim(left-nullspace)=m=constant

這兩個式子也意味著 C(A^	op)cup N(A)=mathbb{R^n},C(A)cup N(A^	op)=mathbb{R^m} 	ag{1}

Part 2.1告訴我們 C(A^	op)ot N(A),C(A)ot N(A^	op) 	ag{2} 不妨視 {vec0} 為「空集」 phi ,根據空間垂直的定義應該可用反證法證得 C(A^	op)cap N(A)=C(A)cap N(A^	op)={vec0}:=phi 	ag{3}

這樣一來借鑒集合論中關於絕對補集合的定義,我們這樣理解四個子空間的正交補性質

C(A^	op)是N(A)在mathbb{R^n}中的補集,C(A)是N(A^	op)在mathbb{R^m}中的補集

線性代數中,我們定義這樣的成對空間互為正交補。由正交補具有的特點可以從另一角度給出以下定義:

定義二:如果一個子空間 W 包含所有與子空間 V 垂直的向量,稱 WV的正交補,記作V^ot (發音為"V perp")

Theorem3: nullspace is the  orthogonal complement of row space

Proof:

我們根據定義二來證明,那麼待證命題轉化為:

nullspace( mathbb{R^{n-r}}) 包含 mathbb{R^{n}}所有row space(mathbb{R^r}) 垂直的向量

用反證法來證明這個全稱命題,假設 exists sin mathbb{R^n} wedge sot row space,s 
otin nullspace ecause s ot row space 	herefore A cdot s= left[ egin{matrix}row_1\ vdots\ row_m end{matrix} 
ight] cdot s=left[ egin{matrix}0\ vdots\ 0 end{matrix} 
ight] ,即 sAx=0 的解

根據 nullspace 的定義(由 Ax=0 的全部解組成的空間), s in nullspace ,與假設矛盾。

mathbb{R^n}不存在row space 垂直而不在 nullspace 中的向量,即 mathbb{R^n} 中所有與 rowspace 垂直的向量都在 nullspace 中。

類似地可以證明

Theorem4: left nullspace is the  orthogonal complement of column space

2.3 Ax=b 的幾何意義

圖2

A_{m 	imes n}cdot x_{n 	imes 1}=b_{m	imes 1} 這個方程中, xn 維的,行空間也是 n 維的。 bm 維的,列空間也是 m 維的。所以這個方程可以解讀為將 mathbb{R^n} 中的一個向量 x 映射到mathbb{R^m} 中,同時注意到 x 由分別來自行空間和零空間的 x_rx_n 構成,這兩個空間是 mathbb{R^n} 的子空間。而 b 來自列空間( mathbb{R^m} 的子空間)。我們在學習解方程 Ax=b 時總是分別求出一個particular solution special solutions,再將它們相加,這兩個部分即 x_rx_n

結合圖2 思考3.4節(3.4The Complete Solution to Ax=b) 關於 Ax=b 解情況的判定(圖3),可以從幾何角度加深理解

圖3


推薦閱讀:

將線性代數形象化 總結篇
線性方程組(5)-克雷洛夫子空間與伽遼金原理
機器學習數學:線性代數
SVD分解是對矩陣行空間與列空間的關聯
線性方程組(4)-變分原理與共軛梯度法

TAG:線性代數 |