使用np.argsort重新排列矩阵的值

时间:2017-10-22 20:57:38

标签: python-3.x numpy

对于这段代码,我截断了一个无限(nxn)矩阵,以便我可以使用14x14矩阵求解。我希望特征值按数字顺序列出,从最低到最高。

使用np.argsort之前的代码:

h = np.loadtxt("g14")
eig, v = LA.eig(h)
print("The eigenvalues for this anharmonic oscillator are", eig)

终端打印出来

The eigenvalues...are
[3.63...e+02  1.56...e+02  6.42...e+01  4.32...e+02
...etc ]

使用np.argsort的代码:

h = np.loadtxt("g14")
eig, v = LA.eig(h)
e = np.argsort(eig)
print("The eigenvalues for this anharmonic oscillator are", e)

终端打印出来

The eigenvalues...are
[8 12  9 13  7 11  5 10  2  6  1  4  0  3]

这显然不是由LA.eig(h)发出的特征值矩阵的重新排列。

1 个答案:

答案 0 :(得分:0)

numpy.argsort返回每个元素放置在已排序数组中的位置(索引)。如果您要返回已排序的输出特征值,  您只需使用numpy.sort