Lanczos 起始向量是否必须是随机的?

计算科学 线性代数 特征值
2021-12-01 13:50:29

在对 Lanczos 向量的所有描述中,都说起始向量是随机的。

但是假设我只对与最低特征值相关的特征向量感兴趣(就像使用 Lanczos 找到量子力学系统的基态时的情况一样)。

那么任何与基态有一些非零重叠的起始向量会不会呢?

3个回答

其他答案提出了一些很好的建议,但为了完整起见,让我明确回答您提出的两个问题:

  1. ,起始向量不必是随机的,并且

  2. 的,任何在所需特征向量上具有非零投影的向量都可以。(在没有进一步信息的情况下,随机向量只是实现这一目标的最简单可靠的方法。)

这与您要查找的(或多少)特征向量无关;只要您的起始向量在相应的特征空间上具有非零投影,给定特征值的 Lanczos 近似值就会收敛(速度取决于投影1的大小等)。细节有点技术性,但您可以在 Youcef Saad 的迭代方法一书中找到它们(特别是第 149 页的定理 6.4)。


1. 事实上,如果起始向量是一个特征向量(或更一般地,位于特征空间中),Lanczos 方法会在一次迭代中给你相应的特征值。

如果一个算法从一个随机向量开始并且已知会收敛到一个正确的结果,这意味着它可以使用任意向量。否则如何从任意随机向量开始成功?

唯一的例外可能是存在一组算法失败的向量,但它们被挑选出来的概率基本上为零。

这也不是特定于 Lanczos 算法:这将适用于任何不需要随机向量流并且不依赖于 RNG 的良好统计特性的算法。

这主要是为了方便,因为对于固定向量的概率v=0对于最合理的概率分布为零v,因此选择的起始随机向量v可以假定在任何方面都不特殊。

但是假设我只对与最低特征值相关的特征向量感兴趣(就像使用 Lanczos 找到量子力学系统的基态时的情况一样)。

您希望使用移位和反转频谱变换来估计您关心的特征值。Lanczos 通常会找到最大幅度的特征值及其特征向量(经过一些后处理);反演将问题转换为求解最小幅度特征值,而移位将问题转换为求解最接近感兴趣特征值的特征值(移位)。

那么任何与基态有一些非零重叠的起始向量会不会呢?

如果我没记错的话,如果你给 Lanczos 一个与给定特征值对应的确切特征向量,它只会生成对应于该特征向量-特征值对的 Krylov 子空间,假设所有计算都是以精确算术执行的。在双精度算术中,通过一些部分重新正交化,它最终将生成一个基,给定足够的迭代次数(概率为 1,因为在一组测量零上,有病态输入,正如 Kirill 指出的那样)。因此,基本上任何起始向量都可以工作。