gpt4 book ai didi

numpy - 特征分解让我对 numpy 感到好奇

转载 作者:行者123 更新时间:2023-12-04 16:44:56 24 4
gpt4 key购买 nike

我测试定理 A = Q * Lambda * Q_inverse 其中 Q 是具有特征向量的矩阵,而 Lambda 是对角线上具有特征值的对角矩阵。

我的代码如下:

import numpy as np
from numpy import linalg as lg

Eigenvalues, Eigenvectors = lg.eigh(np.array([

[1, 3],

[2, 5]


]))

Lambda = np.diag(Eigenvalues)


Eigenvectors @ Lambda @ lg.inv(Eigenvectors)

返回:
array([[ 1.,  2.],
[ 2., 5.]])

返回的矩阵不应该和分解后的原始矩阵一样吗?

最佳答案

您正在使用用于对称/厄米矩阵的函数 linalg.eigh,您的矩阵不是对称的。

https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.eigh.html

你需要使用 linalg.eig ,你会得到正确的结果:

https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html

import numpy as np
from numpy import linalg as lg

Eigenvalues, Eigenvectors = lg.eig(np.array([

[1, 3],

[2, 5]


]))

Lambda = np.diag(Eigenvalues)


Eigenvectors @ Lambda @ lg.inv(Eigenvectors)

返回
[[ 1.  3.]
[ 2. 5.]]

正如预期的那样。

关于numpy - 特征分解让我对 numpy 感到好奇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50487118/

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