下一节:平衡矩阵 上一级:非厄米特特征值问题 上一节:非厄米特特征值问题

引言

在本章中,我们将讨论非厄米特征值问题(NHEP)
Ax = \lambda x, \tag{7.1}
其中,方阵 A \neq A^{\ast}。向量 x \neq 0 称为右特征向量。一个满足
y^{\ast} A = \lambda y^{\ast} \tag{7.2}
的向量 y \neq 0 称为 A 的左特征向量。

关于NHEP的相关理论介绍及文献指引,请参阅第2.5节。特别指出,这些问题的扰动理论颇为复杂。应记住,对于计算出的特征对 \widehat{\lambda}, \widehat{x},残差 A\widehat{x}-\widehat{\lambda}\widehat{x} 的范数小并不必然意味着计算值的误差小。更多信息请参见第2.5节和第7.13节。在此,我们将简要介绍在算法选择中起作用的一些方面,随后将对本章涉及的不同类方法进行简要描述。

与厄米矩阵不同,非厄米矩阵不具备正交的特征向量集;换句话说,非厄米矩阵 A 通常不能通过正交矩阵 Q 变换为对角形式 D=Q^\ast A Q。多数非厄米矩阵可通过非正交矩阵 X 变换为对角形式 D=X^{-1}AX,但存在一些矩阵甚至无法做到这一点。这类矩阵可视为极限情况,其中 X 趋向于奇异算子,且它们不具备完整的特征向量集;它们被称为缺陷矩阵。这揭示了数值不稳定的来源:如果 X 在某种意义上接近奇异算子,那么变换可能对 A 的扰动敏感。这些扰动由计算 XD 的过程引入。因此,尽可能多地使用正交或接近正交的变换至关重要。众所周知,对于任何非厄米矩阵 A,存在一个酉矩阵 U 将其变换为上三角形式

T=U^\ast A U. \tag{7.3}
矩阵 T 称为 A舒尔形式A 的特征值出现在 T 的对角线上。此外,矩阵 U 可以正交变换,使得 A 的特征值按预定顺序出现在 R 的对角线上。如果 zR 对应于特征值 \lambda 的特征向量,即 Tz=\lambda z,则有
A(Uz)=\lambda (Uz),
因此 UzA 对应于特征向量 \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 开始,生成一个维度为 mKrylov子空间的正交基:
{\mathcal K}^m(A;v) \equiv \mathrm{span}\{v, Av, A^2v, \ldots , A^{m-1}v \}.
(与幂方法一样,也可以使用移位逆算子 (A - \sigma I)^{-1}。)

正交化过程导致一个 mm 的上海森堡矩阵 H_m(该方法仅在 m\ll n 时实用),并且该矩阵可以被解释为矩阵 A 在Krylov子空间上的适当约简形式。H_m 的特征值是 A 的一些特征值的近似,并且可以通过与上述讨论的小稠密矩阵相同的标准方法将 H_m 约简为舒尔形式来计算。Arnoldi方法的介绍见第7.5节。 设计了巧妙的重启技术,以尽可能降低内存需求和计算开销:这些技术被称为隐式重启Arnoldi方法(IRAMs),并在第7.6节中讨论。 Arnoldi方法的计算开销不太适合并行化,特别是对于某些分布式内存计算机。为了创建更大的计算与内存引用比率,提出了块变体。这些块Arnoldi变体在第7.7节中讨论。

Lanczos方法,
7.8节,第7.9节, 第7.10节,和第7.11节。 Arnoldi方法使用子空间,必须存储表示当前子空间基的向量。此外,向基中添加新向量涉及将该新向量相对于基中的所有向量进行正交化。对于对称矩阵 A,有一个简单的三项递归生成子空间的基,如果只对特征值感兴趣,则只需存储最后三个基向量。这种Lanczos过程的变体也可用,但必须放弃基向量的正交性。因此,内存和经济计算开销的节约伴随着不稳定性的风险。原始的非对称Lanczos方法,或简称为双侧Lanczos,也受到(近)崩溃的影响。尽管存在这些缺点,该方法仍受到广泛关注,并提出了已被证明对相关问题有效且有用的变体。该方法及其几种增强方法已在第7.8节中描述,并附有适当的软件。

Lanczos方法的块版本及其名为ABLE的实现,在第7.9节中介绍。ABLE是一种自适应块方法,旨在治愈崩溃,并试图消除导致缓慢收敛的原因(如双正交性的损失和附近特征值的聚集)。在Krylov子空间内的缩减被很好地纳入另一种变体,即带状Lanczos方法,在第7.10节中介绍。这是专门为高维多输入和多输出线性动态系统的降阶建模设计的。

针对复对称系统的双侧Lanczos方法的变体在第7.11节中讨论。相对于非对称情况,这种变体将CPU时间和计算机存储减少了一半。

Jacobi-Davidson方法,
7.12节。 Arnoldi和Lanczos方法在应用移位逆变换时最为有效;即,必须有效且准确地求解形式为 (A-\sigma I)x=b 的系统。如果这两者都不实用,但如果能廉价地获得 x=(A-\sigma I)^{-1}b 的合理近似,那么Jacobi-Davidson方法可能证明是有用的。这些方法与Arnoldi方法一样使用正交变换,但在构建涉及子空间的正交基时,没有尝试为约简矩阵创建特殊结构。因此,计算开销大于Arnoldi方法。所有可能的收益都必须来自有效且廉价的移位逆步骤的近似。

在表7.1中,我们总结了各种类方法。该表并非旨在替代进一步阅读;它仅作为起点,并可能帮助读者发现哪种方法最适合哪种需求。每种方法的实际性能通常取决于许多参数,且一种方法对于某一类问题最佳,可能对某些特定矩阵会遇到收敛问题。

表 7.1:非厄米特征值问题算法总结
算法 模式 FL-\lambda \lambda-ext \lambda-int 内存/开销
幂迭代 A
  (A - \sigma I)^{-1}
子空间迭代 A 适中
  (A - \sigma I)^{-1} 适中
Arnoldi A 适中
(IRAM) (A - \sigma I)^{-1} 适中
Lanczos A
  (A - \sigma I)^{-1}
块Lanczos A 适中
  (A - \sigma I)^{-1} 适中
Jac.-Dav. A 适中
  (A - \sigma I)^{-1} 适中
  预条件 适中

7.1解释

FL-\lambda:
少数几个绝对值最大的孤立特征值。
\lambda-ext:
(一组)谱外部的特征值。
\lambda-int:
(一组)谱内部靠近指定目标的特征值。
A:
(移位)A 的操作。
(A - \sigma I)^{-1}:
使用移位逆操作;即,需要一个有效的求解机制来确定 x(A-\sigma I)x=b\sigmab 取决于方法)。
预条件:
使用 A-\sigma I 的预条件器进行操作;即,允许对 (A-\sigma I)x=b 进行不精确求解,从而提高效率的可能性(当然,这取决于预条件器的质量)。



下一节:平衡矩阵 上一级:非厄米特特征值问题 上一节:非厄米特特征值问题
Susan Blackford 2000-11-20