我運行在numpy
qr factorization
返回的ndarrays
,即Q
和R
列表:除去零線2-d numpy的陣列
>>> [q,r] = np.linalg.qr(np.array([1,0,0,0,1,1,1,1,1]).reshape(3,3))
R
是一個二維陣列,具有樞轉零線在底部(甚至證明了我的測試集中的所有示例):
>>> print r
[[ 1.41421356 0.70710678 0.70710678]
[ 0. 1.22474487 1.22474487]
[ 0. 0. 0. ]]
。現在,我想在兩個矩陣R_~
分R
:
[[ 1.41421356 0.70710678 0.70710678]
[ 0. 1.22474487 1.22474487]]
和R_0
:
[[ 0. 0. 0. ]]
(提取出所有的零線)。它似乎接近這個解決方案:deleting rows in numpy array。
編輯:
更有趣:np.linalg.qr()
返回一個n x n
- 矩陣。不是,我本來期望:
A := n x m
Q := n x m
R := n x m
如果axis = 0會怎樣? – denfromufa
@denfromufa'axis = 0'會刪除全零*列*。 – ecatmur
這是很明顯的,有什麼問題是這個過濾不能像'axis = 0'那樣應用,而是需要轉置 – denfromufa