3

给定矩阵A,用numpy或scipy能否方便地得到出现在矩阵等价中的可逆矩阵P和Q,满足A=P[I_r,0;0,0]Q?

4

1 回答 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 回答