我有一个复杂的 Hermitian 矩阵,大小约为。我想要大约 100 个接近 0 的特征值。但是,我知道每个特征值都是两倍退化的。我发现与没有退化的情况相比,运行时间非常慢(超过5倍)。eigsh
另外,我从以下链接中发现 使用 ARPACK 计算特征值的时间取决于什么?这种退化对 eigsh 算法不利。
我该怎么做才能让我的代码运行得更快?在链接的答案中建议增加 Krylov 子空间的大小,但什么大小才合适?
我有一个复杂的 Hermitian 矩阵,大小约为。我想要大约 100 个接近 0 的特征值。但是,我知道每个特征值都是两倍退化的。我发现与没有退化的情况相比,运行时间非常慢(超过5倍)。eigsh
另外,我从以下链接中发现 使用 ARPACK 计算特征值的时间取决于什么?这种退化对 eigsh 算法不利。
我该怎么做才能让我的代码运行得更快?在链接的答案中建议增加 Krylov 子空间的大小,但什么大小才合适?
ARPACK 建议使用ncv > 2 nev. 的默认值ncv将适合该约束。几个建议:
ncv300?tol增加到。