我跑qr factorization在numpy它返回一个列表ndarrays,分别是Q和R:
>>> [q,r] = np.linalg.qr(np.array([1,0,0,0,1,1,1,1,1]).reshape(3,3))
Run Code Online (Sandbox Code Playgroud)
R 是一个二维数组,在底部有零线(甚至证明了我的测试集中的所有例子):
>>> print r
[[ 1.41421356 0.70710678 0.70710678]
[ 0. 1.22474487 1.22474487]
[ 0. 0. 0. ]]
Run Code Online (Sandbox Code Playgroud)
.现在,我想分成R两个矩阵R_~:
[[ 1.41421356 0.70710678 0.70710678]
[ 0. 1.22474487 1.22474487]]
Run Code Online (Sandbox Code Playgroud)
并且R_0:
[[ 0. 0. 0. ]]
Run Code Online (Sandbox Code Playgroud)
(提取所有零线).它似乎接近这个解决方案:删除numpy数组中的行.
编辑:
更有趣:np.linalg.qr()返回一个n x n矩阵.不,我本来期望的:
A := n x m
Q := n x m
R := n x …Run Code Online (Sandbox Code Playgroud)