【问题标题】:issue in getting unsorted eigen values获取未排序的特征值的问题
【发布时间】:2019-05-26 13:49:26
【问题描述】:

我想从矩阵中提取线性独立样本。我想使用特征值。但问题是基于 numpy/scipy 的函数给出了特征值的排序列表。通过它我丢失了哪个特征值对应于原始矩阵的哪个行向量的信息,以便小心地丢弃它们。

我尝试创建自己的代码来计算特征值:

   numpy.linalg.solve(numpy.linalg.det(I,A)) 

其中,A 是原始矩阵,I 是恒等式。但这会产生错误并且是不正确的。有什么办法可以解决这个问题?

【问题讨论】:

    标签: python eigenvalue


    【解决方案1】:

    默认情况下它们不提供排序列表,例如尝试

    import numpy as np
    from numpy import linalg as LA
    A = np.array([[1,2,3],[3,2,1],[1,0,-1]])
    w, v = LA.eig(A)
    print(w)
        [  4.31662479e+00  -2.31662479e+00   3.43699053e-17]
    print(v)
        [[ 0.58428153  0.73595785  0.40824829]
         [ 0.80407569 -0.38198836 -0.81649658]
         [ 0.10989708 -0.55897311  0.40824829]]
    

    特征值 w[0] 对应于 v 的第 0 列。特征值 w[1] 对应于第 1 列,...。要提取第 i 列向量,只需使用

    u = v[:,i]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多