我正在用Python编写一个程序,该程序使用numpy.linalg.eigh
对角线化厄米矩阵(哈密顿矩阵)。我对角化了许多这样的矩阵,并将所得的特征向量矩阵用于某些其他矩阵的多重unit变换。 “特征向量矩阵”是指一个矩阵,其列是原始矩阵的特征向量。
不幸的是,由于特征向量符号的含糊性,我遇到了一个潜在的问题(即,特征向量仅被定义为一个常数,而归一化仍不能固定特征向量的符号)。具体来说,我要计算的结果取决于连续unit变换产生的干涉图样。因此,我预计符号歧义将成为问题。
我的问题:
对特征向量实施特定符号约定的最佳方法(或行业标准)是什么?
我已经想到/遇到以下问题:
我试图找到什么是“标准”约定,但是我很难找到特别有用的任何东西,尤其是在Python中。 SVD(Sign correction in SVD and PCA)有一个解决方案,但是我没有任何可比较的数据向量。有Eigenshuffle(适用于Matlab,我正在使用Python),但是我的矩阵通常不是彼此的连续小修改(尽管有些修改)。
我倾向于解决方案5,因为它看起来很直观;我们只是确保所有特征向量都在同一个高维“象限”中。另外,假设系统的维数不太大(我的系统的维数为9),则具有两个或三个具有正系数的随机参考向量应该几乎可以以很高的概率覆盖所有特征向量。