获取未排序特征值的问题

2024-10-03 17:21:17 发布

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

我想从矩阵中提取线性无关的样本。我想用特征值。但问题是基于numpy/scipy的函数给出了特征值的排序列表。通过这一点,我松散的信息,即哪个特征值对应于原始矩阵的哪一行向量,以便小心地删除它们。你知道吗

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

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

其中,A是原矩阵,I是恒等式。但这是错误的,是不正确的。我怎样才能解决这个问题?你知道吗


Tags: 函数代码numpy信息列表排序线性矩阵
1条回答
网友
1楼 · 发布于 2024-10-03 17:21:17

例如,默认情况下,它们不会给出排序列表

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]

相关问题 更多 >