计算numpy矩阵的极分解?
一个方阵 A 的 极分解 是一种把这个矩阵拆分成两部分的方式,具体形式是:
A = UP,
这里的 U 是一个单位矩阵,而 P 是一个正半定的厄米矩阵。这个极分解和 QR分解 不一样,后者可以通过 scipy.linalg.qr 来实现。
那么,我该如何用 numpy 或 scipy 来找到 P 呢?
2 个回答
3
现在有一个叫“scipy.linalg.polar”的东西了 :) http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.polar.html
2
好吧,你链接的这个维基百科关于极分解的页面里有一些公式,可以用来通过奇异值分解(SVD)来计算极分解。
其次,在你链接的scipy linalg教程的上面几段里,有解释如何计算奇异值分解(SVD)。
所以,把这两者结合起来,你应该就能得到极分解,对吧?