gpt4 book ai didi

python - 正交化矩阵 numpy

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:35 24 4
gpt4 key购买 nike

我试图对 2d-numpy 数组 进行正交化,但失败了。我用了this方法并将其翻译成这段代码:

def sym(w):
return w.dot((w.T.dot(w))**(-.5))

但是

In [1]: a
Out[2]:
array([[ 1.1, 0.1],
[ 0.1, 1.1]])
In [3]: a = sym(a)

In [4]: a
Out[5]:
array([[ 1.20909392, 2.43574363],
[ 2.43574363, 1.20909392]])

In [6]: a.dot(a.T)
Out[7]:
array([[ 7.39475513, 5.89008563],
[ 5.89008563, 7.39475513]])

a.dot(a.T) 应该输出标识。

最佳答案

sym 的工作定义是:

from scipy.linalg import sqrtm, inv

def sym(w):
return w.dot(inv(sqrtm(w.T.dot(w))))

这是因为提高 numpy 矩阵的 -.5 次方并不等同于取 matrix square root。然后将其取反,这就是公式所要求的。

关于python - 正交化矩阵 numpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com