下一节:谱变换 上一级:收敛性质 上一节:收敛性质

多重特征值

理论上,我们只能收敛到起始向量中表示的特征向量。通常这并不构成重大问题,因为舍入误差也会将初始时未出现的方向引入计算中。然而,在一种情况下这很重要,即当矩阵 A 具有多重特征值时。在这种情况下,我们只能从一个多维不变子空间中得到一个向量。需要注意的是,子空间中的任何向量都是同样有效的:没有任何方法或算法能够选择一个特殊的向量,每次使用不同的起始向量的Lanczos运行都会为多重特征值提出一个新的特征向量建议。

有两种不同的方法可以获得多重特征值的一组线性独立特征向量。第一种方法是重启,并在与已收敛特征向量正交的子空间上运行投影算子,其中所有已收敛的特征方向都已被投影掉。这对应于在算法4.6的第(9)步中将向量 r 正交化到所有已收敛的特征向量。此过程会重复进行,直到有新的向量收敛;例如,参见[318]。还有一种更激进的方法来处理可能的多重特征值:块Lanczos方法。它从几个(例如 p 个)起始方向开始,形成一个块 V_1,并在第 j 步中让 A 作用于所有 V_j,以计算一个新的正交块 V_{j+1}。矩阵 T 将是一个块三对角矩阵,或者更准确地说是一个带状矩阵;参见第4.6节的描述。

在块Lanczos方法中,收敛性取决于期望的特征值 \lambda_i 与其他 p 个特征值在谱中的分离程度,假设特征值从小到大排序。然而,多项式的次数是 j,而不是 jp,如果我们对相同数量的基向量运行单向量Lanczos方法,这会降低一般情况下的收敛速度。

尽管存在上述异议,但块Lanczos方法在计算效率上具有优势,尤其是在计算 Y=AX 对于一个 n \times p 矩阵 X 比依次计算 p 个向量的 y=Ax 便宜得多时。这在大多数具有缓存内存的机器上以及当矩阵非常大以至于需要存储在辅助存储器中时都是如此。



下一节:谱变换 上一级:收敛性质 上一节:收敛性质
Susan Blackford 2000-11-20