排序特征值和对应的特征向量
Sorting eigen values and corresponding eigen vectors
对于矩阵 A,我有一组特征值和相应的特征向量,使用标准方法获得,eigvals, eigvecs = la.eig(A)
在导入后 scipy.linalg as la
。
使用 np.sort(eigvals, axis=-0)
.
对特征值进行排序
我们如何重新排列相应的特征向量。
我相信您需要的是获取已排序索引的列表,然后使用 np.argsort
.
按该顺序获取特征向量和特征值
它会是这样的:
import numpy as np
import scipy.linalg as la
A = np.random.rand(3, 3)
eigvals, eigvecs = la.eig(A)
sorted_indexes = np.argsort(eigvals)
eigvals = eigvals[sorted_indexes]
eigvecs = eigvecs[:,sorted_indexes]
P.S.: 似乎@srikrishna 已经发布了 link 的解决方案。我会在 Whosebug 中保持响应。
对于矩阵 A,我有一组特征值和相应的特征向量,使用标准方法获得,eigvals, eigvecs = la.eig(A)
在导入后 scipy.linalg as la
。
使用 np.sort(eigvals, axis=-0)
.
对特征值进行排序
我们如何重新排列相应的特征向量。
我相信您需要的是获取已排序索引的列表,然后使用 np.argsort
.
它会是这样的:
import numpy as np
import scipy.linalg as la
A = np.random.rand(3, 3)
eigvals, eigvecs = la.eig(A)
sorted_indexes = np.argsort(eigvals)
eigvals = eigvals[sorted_indexes]
eigvecs = eigvecs[:,sorted_indexes]
P.S.: 似乎@srikrishna 已经发布了 link 的解决方案。我会在 Whosebug 中保持响应。