使用numpy.argsort。它返回一个索引,该索引将用于对数组进行排序。
import numpy as npimport numpy.linalg as linalgA = np.random.random((3,3))eigenValues, eigenVectors = linalg.eig(A)idx = eigenValues.argsort()[::-1] eigenValues = eigenValues[idx]eigenVectors = eigenVectors[:,idx]
如果特征值是复数,则排序顺序是按字典顺序排列(也就是说,复数首先根据其实部进行排序,而其虚部则打破了联系)。



