给定矩阵A,用numpy或scipy能否方便地得到出现在矩阵等价中的可逆矩阵P和Q,满足A=P[I_r,0;0,0]Q?
问问题
105 次
1 回答
1
可能您可以进行奇异值分解 (SVD),然后将奇异值乘以酉矩阵之一。
请参阅http://en.wikipedia.org/wiki/Singular_value_decomposition上的 SVD 定义
基本上你会得到一个酉矩阵、一个对角矩阵和另一个酉矩阵。对角矩阵的非零元素数量等于 rank(A)。
在python代码中,它是
P, S, Q = numpy.linalg.svd(A)
for i, row in enumerate(Q):
row *= S[i]
请参阅http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.svd.html关于 numpy.linalg.svd
P,Q 然后变成你想要的。但请记住,这种分解并没有一种独特的方式。
于 2013-10-18T19:24:12.323 回答