本文的閱讀等級:初級
令 為一個
階實矩陣,或說
是一個線性變換 (見“線性變換與矩陣的用語比較”)。矩陣
的值域 (range) 即為其行空間 (column space)
。
將矩陣 以行向量 (column vector) 表示為
,其中
,
就是行向量
的線性組合形成的集合,因為
。
矩陣 的核 (kernel) 等於其零空間 (nullspace)
。
對於 階轉置矩陣
,
稱為
的列空間 (row space),
稱為
的左零空間 (left nullspace)。為什麼有這個奇怪的名稱?考慮
,等號兩邊取轉置可得
,因為
在
的左側,故名左零空間。以上是實矩陣
的四個基本子空間定義,其中列空間
和零空間
是
的子空間,行空間
和左零空間
是
的子空間 (見“線性代數基本定理 (二)”)。本文介紹一個使用基本列運算 (elementary row operation) 的四個基本子空間的基底算法 (類似問題見“每週問題 April 6, 2009”):先將給定矩陣
化簡至簡約列梯形式 (reduced row echelon form),再從所執行過的列運算與最後的結果取得各子空間的基底向量。
我們將 階矩陣
和單位矩陣
合併為一個增廣矩陣
,接著以基本列運算化簡直到產生簡約列梯形式。列運算過程可表示為一連串的矩陣乘法,引入
的目的即在記錄所執行過的淨運算。令
階矩陣
代表對應列運算的基本矩陣乘積 (見“特殊矩陣 (10):基本矩陣”)。化簡過程可表示如下:
,
上面我們令 階矩陣
為
的簡約列梯形式。設
,明顯地,
。矩陣秩
給出四個基本子空間維數 (即基底向量數,見“線性代數基本定理 (一)”):
。
因為簡約列梯形式 的軸行 (pivot column,包含軸的行) 總數等於
,故可表示成分塊矩陣
,
其中 階單位矩陣
對應軸行,
階分塊
對應非軸行,零列包含
階和
階兩個零分塊。上述分塊表達的目的是為了方便推導,實際上,軸行未必都位居領先行。令
,其中
是
階分塊,
是
階分塊。所以,最終結果具有下列形式:
。
此一分塊結構連同關係式 提供了描述
的四個基本子空間的充足資訊,下面解說如何推導它們的基底。
列空間
基本列運算的作為是列的線性組合,因此不改變矩陣的列空間,可知 。簡約列梯形式
的
個非零列 (即軸列) 是一個線性獨立集,表明分塊
的所有列向量構成
的列空間的一組基底。
零空間
基本列運算非但不改變矩陣的列空間,也不改變零空間,故 。簡約列梯形式
唯一決定
階零空間矩陣 (nullspace matrix)
,
很容易確認 (見“零空間的快捷算法”,“行空間與零空間的互換表達”)。因為
的行向量是一個線性獨立集,它們構成
的零空間的一組基底。
行空間
基本列運算改變了矩陣的行空間,,因此僅由簡約列梯形式
無法推知
的行空間。但基本列運算不改變行向量之間的線性組合關係 (見“左乘還是右乘,這就是問題所在”),因為這個緣故,
的軸行指標就是
的線性獨立行向量指標,故知
的這些線性獨立行向量集構成
的行空間的一組基底。
左零空間
寫出
,
其中 說明
的列向量屬於左零空間
。基本矩陣乘積
是一個可逆矩陣,必有線性獨立的列向量,所以分塊
的列向量集構成了
的左零空間的一組基底。
底下舉一個例子說明矩陣的四個基本子空間基底的計算程序。考慮 階矩陣
,
求 ,
,
和
的基底。
步驟 1:以基本列運算將 化簡至簡約列梯形式
。結果如下:
步驟 2:將重要的結果整理出來。簡約列梯形式 的 1, 4 行是軸行,故
。提取主要分塊並寫出零空間矩陣:
。
步驟 3:寫出各子空間的基底。
列空間 的基底由
的列向量組成:
。
零空間 的基底由
的行向量組成:
。
行空間 的基底包含
的軸行,即第 1, 4 行:
。
左零空間 的基底由
的列向量組成:
。
老师您好,非常喜欢您写的现代启示录,概念讲得特别简练清楚。我尤其喜欢概念中几何意义的引申,很有启发,打算认真读完。谢谢!
另外,这篇文章的开始,定义部分是不是有些拼写错误?C(A), column space, 是不是“列空间”,而C(A^T),row space,则表示“行空间”?
歡迎來訪。你點出的問題很有趣。既不是你誤讀,也不是我寫錯,這是因為兩岸對於「行」與「列」用法不同而生的誤會。請見
https://ccjou.wordpress.com/2012/04/17/%E5%85%A9%E5%B2%B8%E7%B7%9A%E6%80%A7%E4%BB%A3%E6%95%B8%E7%9A%84%E7%BF%BB%E8%AD%AF%E5%90%8D%E8%A9%9E%E5%8F%83%E7%85%A7/
哪麼是甚麼原因造成的呢?這個嘛,我也不知道。
老師您好 想請問你一些觀念
如圖上式=號是成立的嗎
我下面假設了一個例子 它們的向量一樣
但一個是列表示一個是行表示 這樣也算等於嗎?
因為最近碰到類似的題目有解題老師說 col(A^T)與Row(A) 算同構 但不等於
不知這觀念是不是錯的?
希望老師解惑
二維向量可以寫成
或
,但如果視為矩陣,則
與
的意義就不同。
https://ccjou.wordpress.com/2010/04/15/%E5%90%8C%E6%A7%8B%E7%9A%84%E5%90%91%E9%87%8F%E7%A9%BA%E9%96%93/
老師 所以我上面空間展延的橫 [1 0] 和 直的[1 0] 是向量而非矩陣 所以兩個其實是一樣的 只是在表示時可以用直的或橫的來表示一個向量 可以這樣理解嗎
是的。再舉個例子,
是
的解形成的子空間,
裡的向量該怎麼規範直的或橫的?從書寫上來看應該是直的,也就表示
不等於
,因為
包含橫的向量。幾何向量區分直橫只會製造麻煩。
對 我之前就有這樣直橫的問題
感謝老師的解答 我懂了
In the example, how did you get the basis vectors for the left nullspace? The vectors a=[ -1 2 0 0] and b=[1 0 -1 1] can form a basis for the left nullspace. And [-13 29 3 -3]=10a + (-3)b; [4 -6 -1 1]=(-3)a + b.