排序特征值和对应的特征向量

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 中保持响应。