numpy scipy - 保持特征值严格

时间:2014-09-30 21:21:50

标签: python numpy linear-algebra eigenvector eigenvalue

我使用scipy.linalg.eigvalsh(矩阵)为每个时间点计算时间相关矩阵的特征值。然后我在嵌套列表中收集它们[[[时间1的结果],[时间2的结果]等]并通过numpy.savetxt存储列表。

我的问题是,到目前为止,我还没有找到一种方法,当我从我的文件中读取结果并绘制它们时,我可以避免“混合”这些值。每当两个特征值(对应于能量水平)在时间上相互交叉时,我的情节会发生的是,绘制的线自动切换。因此,最低能量水平例如总是绘制为实线,即使在一点上最初的最低水平变为从第二到最低的水平,并且从最初的第二到最低水平(可能绘制为虚线)然后是最低级别。所以你可以在图中看到实线应该是从第二到最低的位置,而虚线应该是最低的,但在那一点上,线条是“交换”式的。

我解决问题的想法是计算线的斜率并相应地重新排列每个时间点的结果元素,以便例如每个子列表中的第一项对应于最初的最低值特征值。但是,尽管在互联网上寻找类似的问题,我找不到一种简单而系统的方法来做到这一点,所以我真的希望有人可能有类似的问题并找到了一些可行的解决方案。

0 个答案:

没有答案