Matlab与Python eig(A,B)与sc.linalg.eig公司(A,B)

2024-05-14 22:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下矩阵sigma和sigmad:

西格玛:

    1.9958   0.7250
    0.7250   1.3167

西格玛:

^{pr2}$

如果我试图在python中解决广义特征值问题,我会得到:

    d,V = sc.linalg.eig(matrix(sigmad),matrix(sigma))

五:

    -1     -0.5614
    -0.4352    1

如果我试图在matlab中解决g.e.问题,我得到:

    [V,d]=eig(sigmad,sigma)

五:

    -0.5897    -0.5278
    -0.2564    0.9400

但d值确实吻合。在


Tags: 矩阵sigmamatrixscmatlab我会特征值linalg
1条回答
网友
1楼 · 发布于 2024-05-14 22:19:25

特征向量的任何(非零)标量倍数也将是特征向量;只有方向有意义,而不是整体规范化。不同的例程使用不同的约定通常您会看到magnity设置为1,或者最大值设置为1或-1,而且有些例程甚至出于性能原因甚至不需要在内部保持一致。两个不同的结果是彼此的倍数:

In [227]: sc = array([[-1., -0.5614], [-0.4352,  1.    ]])

In [228]: ml = array([[-.5897, -0.5278], [-0.2564, 0.94]])

In [229]: sc/ml
Out[229]: 
array([[ 1.69577751,  1.06366048],
       [ 1.69734789,  1.06382979]])

所以它们实际上是相同的特征向量。矩阵的特征向量的变化量,可以看作是矩阵的特征向量的变化。在

相关问题 更多 >

    热门问题