作者deflife (無極而生)
看板Math
標題Re: [線代] 關於rank(A^T A)=rank(A)的證明?
時間Fri Oct 16 17:01:49 2015
※ 引述《ck6fuz516 (不是一就是二)》之銘言:
: 關於rank(A^T A)=rank(A)for any A m×n的證明如下:
: Since elementary operations do not change the rank of a matrix. We have
: rank(ATA)=rank(ETATAE)
: , where E is a multiplication of several elementary operations which make
: AE=[A1 A2], where A1 is a column full rank matrix with rank(A1)=rank(A).
: Thus we can find a matrix P such that A1P=A2
: and AE=[A1 A1P]=A1[I P]
: Thus rank(ETATAE)=rank(A1[I P])T(A1[I P])
: In this equation, the four matrices are all full rank and the rank equals
: rank(A) , so rank(ATA)=rank(A), completing the proof.
: 原文網址:http://goo.gl/A4Mg3l
: 我有疑問的是:
: 1.A是 m×n rank(A)可能小於min(m,n) AE=[A1 A2]這一定辦的到嗎?
: 2.為何rank(A1[I P])T(A1[I P])會等於rank(A)?
: 以上兩點請高手指點迷津
: 謝謝
第一點是ok的
AE 的 E 就是對 A 做基礎行運算 使得
A 的 linear independent column vectors 都靠最左邊
(這邊就用column之間作交換的基礎行運算就好了)
這時 A1 就是這些 線性獨立行 所組成的矩陣
所以只要A不是零矩陣, 都可以找到 A1 與 A2
第二點也是對的
我先令[I P] = M (方便打字)
假設rank(A) = rank(A1) = rank(M) = k (這邊的相等是看"獨立行最大個數")
那麼rank(AtA) = rank(MtA1tA1M)
Claim: rank(MtA1tA1M) = k (這邊有點難解釋)
[ 每一個矩陣 Y 都可以視作一個左乘映射(LY(x) = Yx)
Yx可以想成是在做 行的線性組合
rank(Y) = rank(LY) = dim(R(LY)) ]
rank(MtA1tA1M) = rank(LMtLA1tLA1LM)
現在,rank(LM) = k ==> rank(LA1tLA1LM) = k
(因為LA1t是onto且LA1是1-1, 所以A1tA1會是可逆矩陣, LA1tA1有1-1和onto的性質)
(LA1tA1 = LA1tLA1)
==> rank(LMtLA1tLA1LM) = k
我覺得可以把每個矩陣的size都寫好會比較容易理解
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.127.233.198
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1444986112.A.E4F.html
推 ck6fuz516 : 謝謝 第一點可以理解了 10/17 00:04
→ ck6fuz516 : 第二點 你怎麼知道 LA1t是onto且LA1是1-1? 10/17 00:05
→ ck6fuz516 : rank(LA1tLA1LM) = k ==> rank(LMtLA1tLA1LM) 10/17 00:12
→ ck6fuz516 : 為何不是小於等於k? 10/17 00:12
推 ck6fuz516 : 我好像知道你在說什麼了......我再思考一下 10/17 00:36