2012-04-12 95 views
0

如何將常規矩陣轉換爲R中的全矩陣?有沒有可用的方法?製作一個滿秩的矩陣?

我有一個矩陣,可能有線性依賴列,我需要 將它傳遞給一個函數,它需要它的參數是一個矩陣與 滿秩。由於線性依賴列無論如何都不是我感興趣的 ,我正在尋找一個函數來刪除這些列,直到 矩陣滿秩。當然可能有幾個解決方案,但是其中任何一個都應該沒問題。

現在我只是列構建矩陣列,只有 添加一列如果結果矩陣仍然fullrank,但它 感覺應該有更好的方式來做到這一點。

+4

你應該提供更多的細節。例如,如果你總是返回一個單位矩陣,那麼你總是將「規則」矩陣變成一個完整的矩陣。 – Dason 2012-04-12 13:52:01

+0

你的意思是說你有一個獨立的行(或列)不是正方形的矩陣,並且你想創建足夠的獨立行(或列)使其成爲一個正方形的滿秩矩陣? – 2012-04-12 14:04:57

+0

請定義「規則矩陣」。更好的是,讓我們知道你想要解決什麼問題。改變矩陣元素以強制線性獨立不可能是你想要做的。 – 2012-04-12 15:09:35

回答

0

另一種方法是最小化| y - Ax | + c | x | , 通過將A上的單位矩陣和Y上的零加上。 參數c(又名:λ) 折價擬合y - Ax,保持| x |小。 然後運行第二個適合的x最大的組件, r = rank(A)(或任何您喜歡的數字)。