与厄米矩阵不同,非厄米矩阵不具备正交的特征向量集;换句话说,非厄米矩阵 A 通常不能通过正交矩阵 Q 变换为对角形式 D=Q^\ast A Q。多数非厄米矩阵可通过非正交矩阵 X 变换为对角形式 D=X^{-1}AX,但存在一些矩阵甚至无法做到这一点。这类矩阵可视为极限情况,其中 X 趋向于奇异算子,且它们不具备完整的特征向量集;它们被称为缺陷矩阵。这揭示了数值不稳定的来源:如果 X 在某种意义上接近奇异算子,那么变换可能对 A 的扰动敏感。这些扰动由计算 X 和 D 的过程引入。因此,尽可能多地使用正交或接近正交的变换至关重要。众所周知,对于任何非厄米矩阵 A,存在一个酉矩阵 U 将其变换为上三角形式
T=U^\ast A U. \tag{7.3}
矩阵 T 称为 A 的舒尔形式。A 的特征值出现在 T 的对角线上。此外,矩阵 U 可以正交变换,使得 A 的特征值按预定顺序出现在 R 的对角线上。如果 z 是 R 对应于特征值 \lambda 的特征向量,即 Tz=\lambda z,则有
A(Uz)=\lambda (Uz),
因此 Uz 是 A 对应于特征向量 \lambda 的特征向量。
舒尔形式的约简可以实现,但代价不小。设 n 为非厄米矩阵 A 的阶数。对于 n>3,通常不存在有限算法将 A 约简为舒尔形式(排除如 A 已为上三角形式的简单情况)。对于阶数适中的矩阵,如 n\le 1000,通常先将其约简为上海森堡形式,这可以在有限步骤内完成。随后通过迭代方式(QR迭代)将此上海森堡矩阵约简为舒尔形式。更多细节及软件指引请参见第7.3节。
这种标准方法的主要问题是计算成本与 n^3 成正比(因此限制了矩阵阶数最多为几千),并且需要存储与 n^2 个元素成正比的存储空间。通常无法利用矩阵 A 的稀疏性来减少存储需求。因此,提出了替代方案。这些替代方案完全迭代,即没有有限的直接约简步骤。它们通常仅适用于计算少数感兴趣的特征对。现在我们将简要总结本章将介绍的迭代方法。
单向量和多向量迭代,
第7.4节。
对于较大的矩阵,可以通过幂迭代迭代计算绝对值最大的特征值及其对应的特征向量。这仅在最大特征值相对其他特征值的绝对值显著大时才建议使用。为了创建具有良好分离的最大特征值的矩阵,通常形式上使用算子 (A - \sigma I)^{-1},其中用户定义的 \sigma 接近所需的特征值。这被称为逆迭代。该方法已推广到用于一组特征值与谱的其余部分良好分离的块方法。这些单向量和多向量迭代方法在所需特征值与不需要的特征值良好分离时表现良好。然而,即使在这种情况下,这些方法也难以与更现代的子空间方法竞争,唯一的使用场景似乎是无法承受存储超过两个迭代向量的情况。
Arnoldi方法,
第7.5节,第7.6节,
和第7.7节。
现代子空间迭代方法试图构建一个富含对应于所需特征值的特征向量的子空间。实际上,它们可以被解释为保留了幂方法中生成的多个向量。相对于受限维度的子空间的基,它们通常将矩阵约简为更易处理的形式。在Arnoldi方法中,从一个初始猜测 v 开始,生成一个维度为 m 的Krylov子空间的正交基:
正交化过程导致一个 m 乘 m 的上海森堡矩阵 H_m(该方法仅在 m\ll n 时实用),并且该矩阵可以被解释为矩阵 A 在Krylov子空间上的适当约简形式。H_m 的特征值是 A 的一些特征值的近似,并且可以通过与上述讨论的小稠密矩阵相同的标准方法将 H_m 约简为舒尔形式来计算。Arnoldi方法的介绍见第7.5节。
设计了巧妙的重启技术,以尽可能降低内存需求和计算开销:这些技术被称为隐式重启Arnoldi方法(IRAMs),并在第7.6节中讨论。
Arnoldi方法的计算开销不太适合并行化,特别是对于某些分布式内存计算机。为了创建更大的计算与内存引用比率,提出了块变体。这些块Arnoldi变体在第7.7节中讨论。