Python 获取未排序特征值的问题
我想从矩阵中提取线性无关的样本。我想使用特征值。但问题是基于numpy/scipy的函数给出了特征值的排序列表。通过它,我松散的信息,即哪个特征值对应于原始矩阵的哪个行向量,以便小心地删除它们 我尝试创建自己的代码来计算特征值,如下所示:Python 获取未排序特征值的问题,python,eigenvalue,Python,Eigenvalue,我想从矩阵中提取线性无关的样本。我想使用特征值。但问题是基于numpy/scipy的函数给出了特征值的排序列表。通过它,我松散的信息,即哪个特征值对应于原始矩阵的哪个行向量,以便小心地删除它们 我尝试创建自己的代码来计算特征值,如下所示: numpy.linalg.solve(numpy.linalg.det(I,A)) 其中,A是原始矩阵,I是恒等式。但这是错误的,是不正确的。我可以用什么方法解决这个问题?默认情况下,它们不提供排序列表,例如,请尝试 import numpy as
numpy.linalg.solve(numpy.linalg.det(I,A))
其中,A是原始矩阵,I是恒等式。但这是错误的,是不正确的。我可以用什么方法解决这个问题?默认情况下,它们不提供排序列表,例如,请尝试
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]