下一节:基本性质 上一级:带状Lanczos方法 上一节:带状Lanczos方法

收缩的必要性

使用 p \gt 1 个初始向量会带来一个额外的难题,这是在单个向量 p=1 情况下不会出现的。对于单个初始向量 b,标准Lanczos算法在经过 j 次迭代后终止,如果下一个Krylov向量 A^j b 与之前的Krylov向量线性相关,即 A^j b \in {\mathcal K}^j(A,b). 在这种情况下,Lanczos向量构成了 A 不变子空间 {\mathcal K}^j(A,b) 的一组基,并且Lanczos三对角矩阵的所有特征值也是 A 的特征值。子空间 {\mathcal K}^j(A,b)A 不变的,意味着Krylov序列已被完全耗尽,因此再增加更多的Krylov向量也不会扩展Krylov子空间。这种在 j 次迭代后的终止是自然而然的。

然而,在 p>1 的情况下,首次出现的线性相关向量在(4.27)中并不意味着块Krylov序列已被耗尽。它仅仅意味着该线性相关向量及其后续的 A 倍数不包含任何新信息,因此,这些向量应从(4.27)中移除。这种检测并删除线性相关向量的过程称为精确收缩。例如,假设初始向量(4.26)使得向量 A b_1b_1, b_2, \ldots, b_p 的线性组合。那么 A b_1 肯定与(4.27)中 A b_1 左侧的Krylov向量线性相关;实际上,每个向量 A^i b_1i \geq 1 都与(4.27)中 A^i b_1 左侧的向量线性相关。在这种情况下,所有向量 A^i b_1i \geq 1,都需要从(4.27)中删除,从而得到收缩后的块Krylov序列

b_1, b_2, \ldots, b_p, A b_2, A b_3, \ldots, A b_{p}, \ldots, A^{k-1} b_2, A^{k-1} b_3, \ldots, A^{k-1} b_{p}, \ldots.
对于 p>1,与 p=1 的情况相反,首次出现精确收缩并不意味着由带状Lanczos方法生成的Lanczos矩阵的任何特征值也是 A 的特征值。然而,在发生了 p 次精确收缩之后,就像 p=1 的情况一样,Lanczos向量跨越了一个 A 不变子空间,并且Lanczos矩阵的所有特征值也是 A 的特征值。

当然,在有限精度算术中,无法区分完全线性相关和几乎线性相关的向量。因此,在实践中,几乎线性相关的向量也需要被检测和删除。在下文中,我们将检测和删除线性相关及几乎线性相关向量的过程称为收缩



下一节:基本性质 上一级:带状Lanczos方法 上一节:带状Lanczos方法
Susan Blackford 2000-11-20