在量子物理计算中,我必须处理一个矩阵,它有很多彼此非常接近的特征值(例如相对差异),我无法获得足够准确的特征向量和特征值。确实,我想达到机器精度,但我只得到来自zheev
LAPACK 的 MKL 和 ATLAS。
这意味着这是由于 LAPACK 本身造成的,并且可以使用其他方法获得更好的精度。我知道我的矩阵完全有可能,因为我达到了预期的精度,numpy.linalg.eigh
但我不知道我对 LAPACK 的使用与在 numpy 中所做的有什么不同。(我在那里解释了两者之间的比较,但我的问题是不同的)。
我想知道是否有一种已知对非常接近的特征值有效的算法。限制是我不使用非常大的Hermitian矩阵(目前少于 100 行),而且我知道特征值都包含在 0 和 2 之间(都包括在内)。
我必须以最大精度计算所有特征值和向量。