【问题标题】:Importance of ordering in Eigenvalues特征值中排序的重要性
【发布时间】:2021-02-11 19:47:37
【问题描述】:

我有一个矩阵,我想找到它的特征值:

A = [
        [ .1, .17, 0, 0,    0,    0], 
        [.17,  .1, 0, 0,    0,    0], 
        [  0,   0, 0, 0,    0,    0], 
        [  0,   0, 0, 0,    0,    0], 
        [  0,   0, 0, 0,  1.2, 0.66], 
        [  0,   0, 0, 0, 0.66,  1.2],
]

我可以找到无序的特征值:

from numpy import linalg as LA
LA.eig(np.array(A))

输出:

(array([ 0.27, -0.07,  1.86,  0.54,  0.  ,  0.  ]),
 array([[ 0.70710678, -0.70710678,  0.        ,  0.        ,  0.        , 0. ],
        [ 0.70710678,  0.70710678,  0.        ,  0.        ,  0.        , 0. ],
        [ 0.        ,  0.        ,  0.        ,  0.        ,  1.        , 0. ],
        [ 0.        ,  0.        ,  0.        ,  0.        ,  0.        , 1. ],
        [ 0.        ,  0.        ,  0.70710678, -0.70710678,  0.        , 0. ],
        [ 0.        ,  0.        ,  0.70710678,  0.70710678,  0.        , 0. ]]))

这些列表的顺序重要吗?只要将它们重新编入索引,更改顺序是否会导致我丢失有关系统的信息?

然后,我还天真地期望特征值的排序方式有点像[ 0.27, -0.07, 0. , 0. , 1.86, 0.54],反映了矩阵中的两个中心列和行是如何用零填充的 - 这是不正确的吗?上面的示例中是否已经秘密进行了重新订购?

【问题讨论】:

    标签: python numpy linear-algebra eigenvalue eigenvector


    【解决方案1】:

    特征值的顺序是正确的。根据文档。 np.linalg.ein() 返回两个数组

    A = [
            [ .1, .17, 0, 0,    0,    0], 
            [.17,  .1, 0, 0,    0,    0], 
            [  0,   0, 0, 0,    0,    0], 
            [  0,   0, 0, 0,    0,    0], 
            [  0,   0, 0, 0,  1.2, 0.66], 
            [  0,   0, 0, 0, 0.66,  1.2],
    ]
    
    A = np.array(A)
    
    W, V = np.linalg.eig(A)
    

    W 包含特征值,V 包含特征向量,使得 W[i]V[:, i] 的特征值

    注意 V[:, i] 是一个特征向量而不是 V[i] 这意味着 V 包含列向量所以..

    A @ V[:, i] == W[i] * V[:, i]   # not V[i] @ A
    

    在转换矩阵A 中具有零列或零行并不意味着W 中的相应特征值将是或应该是0WV 不遵循任何特定的顺序,它们的顺序只有放在一起才有意义。

    W 中的最后两个 0s 对于它们的索引没有意义。只有当我们查看 V 中的相应向量时,它们才有意义。

    V[:, -2:]
    
    >>> [[0., 0.],
         [0., 0.],
         [1., 0.],
         [0., 1.],
         [0., 0.],
         [0., 0.]]
    

    V 中的最后两个向量是第三个和第四个单位基向量。有了这个,我们可以得出结论,变换矩阵A 会将位于这些基向量跨度上的任何向量减少为空向量。又名缩放它0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2020-04-10
      • 2021-04-08
      • 2018-12-14
      • 2021-12-23
      • 2021-02-03
      • 2016-11-07
      相关资源
      最近更新 更多