gpt4 book ai didi

python - Python 中的特征值

转载 作者:行者123 更新时间:2023-12-01 08:59:05 25 4
gpt4 key购买 nike

我想找到矩阵大小(280*280)的特征值。我在 MATLAB 中使用

[V D] = eig(matrix);

但我想使用 python 转换我的代码

d, v = np.eigh(matrix)

它将提供几乎相同的输出,但在 python 中,第一列和最后一列具有相反的符号(即,如果 MATLAB 中为正,则 python 中为负),并且我知道 MATLAB 输出是正确的

最佳答案

仅当您的矩阵为 hermitian 时,您所做的才是等效的.

你应该在Python中使用:

d, v = np.eig(matrix)

为了确保计算结果正确,您可以进行一个简单的测试,即使用以下方法检查特征值和特征向量是否正确:

d, v = np.linalg.eig(matrix)
norm_1=np.max(np.max(abs(np.matmul(np.matmul(v,np.diag(d)),np.linalg.inv(v))-matrix)))
print norm_1

np.max(np.sum(abs(np.matmul(np.matmul(v,np.diag(d)),np.linalg.inv(v))-matrix)))的结果是一个简单的例子 Matrix norms induced by vector norms .

如果你的计算没问题,结果应该在机器舍入误差左右。

关于python - Python 中的特征值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52612292/

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