非对称矩阵特征值问题的隐式重启Arnoldi算法
题目描述
隐式重启Arnoldi算法(Implicitly Restarted Arnoldi Method, IRAM)用于求解大型稀疏非对称矩阵的部分特征值(通常为模最大或最小的几个特征值)。传统Arnoldi迭代会随着子空间维度的增加而面临存储和计算成本高的问题,IRAM通过结合多项式滤波和隐式重启技术,在保持数值稳定性的同时,有效限制Krylov子空间的规模,从而高效计算目标特征值。
解题过程
1. 问题建模
设 \(A \in \mathbb{C}^{n \times n}\) 为非对称矩阵,目标是计算其 \(k\) 个特征值(如右半平面特征值)。直接方法(如QR算法)成本过高,故采用Krylov子空间方法。Arnoldi迭代生成正交基 \(V_m \in \mathbb{C}^{n \times m}\) 和上Hessenberg矩阵 \(H_m \in \mathbb{C}^{m \times m}\),满足:
\[AV_m = V_m H_m + h_{m+1,m} v_{m+1} e_m^T \]
其中 \(V_m\) 的列张成Krylov子空间 \(\mathcal{K}_m(A, v_1)\),\(H_m\) 的特征值(Ritz值)近似于 \(A\) 的特征值。
2. 隐式重启的核心思想
- 显式重启的缺陷:若 \(m\) 较大时,显式重启(重新从单个向量开始)会丢失已积累的信息。
- 隐式重启:通过应用多项式滤波(如移位QR迭代)隐式地压缩子空间,保留与目标特征值最相关的信息。具体步骤:
a. 运行 \(m\) 步Arnoldi迭代,得到 \(V_m\) 和 \(H_m\)。
b. 计算 \(H_m\) 的 Ritz 值,选择 \(k\) 个目标Ritz值(如模最大),剩余 \(m-k\) 个为不需要的Ritz值。
c. 以不需要的Ritz值为移位点,执行 \(m-k\) 步隐式QR迭代,等价于应用多项式 \(p(A) = (A - \mu_1 I) \cdots (A - \mu_{m-k} I)\) 到初始向量,其中 \(\mu_i\) 为不需要的移位。
d. 通过隐式变换保留前 \(k\) 列正交基,重启长度为 \(k\) 的Arnoldi过程。
3. 算法步骤详解
步骤1:初始化
- 选择初始向量 \(v_1\)(单位范数),设定子空间最大维度 \(m\)(如 \(m = \min(k+20, n)\)),目标特征值数量 \(k\)。
步骤2:Arnoldi过程
- 运行 \(m\) 步Arnoldi迭代,生成 \(V_m\) 和 \(H_m\)。
- 每步迭代:
\[ w = A v_j, \quad w = w - \sum_{i=1}^j h_{ij} v_i, \quad h_{j+1,j} = \|w\|, \quad v_{j+1} = w / h_{j+1,j} \]
其中 \(h_{ij} = v_i^* w\)。
步骤3:Ritz值计算与移位选择
- 计算 \(H_m\) 的特征值 \(\{\theta_i\}\)(Ritz值)。
- 按目标规则(如按实部排序)选择 \(k\) 个Ritz值保留,剩余 \(m-k\) 个作为移位点 \(\{\mu_1, \dots, \mu_{m-k}\}\)。
步骤4:隐式重启
- 对 \(H_m\) 应用以 \(\mu_1, \dots, \mu_{m-k}\) 为移位的QR迭代:
\[ H_m^{(0)} = H_m, \quad \text{for } i=1 \text{ to } m-k: \quad H_m^{(i)} - \mu_i I = Q_i R_i, \quad H_m^{(i)} = R_i Q_i + \mu_i I \]
- 累积正交变换 \(Q = Q_1 Q_2 \cdots Q_{m-k}\),更新 \(H_m \leftarrow Q^* H_m Q\) 和 \(V_m \leftarrow V_m Q\)。
- 关键性质:变换后 \(H_m\) 的前 \(k\) 列保持上Hessenberg形式,且前 \(k\) 列正交基 \(V_m[:,1:k]\) 张成的子空间等于 \(p(A) \mathcal{K}_m(A, v_1)\) 的前 \(k\) 维子空间。
步骤5:截断与重启
- 保留 \(V_m\) 的前 \(k\) 列作为新的 \(V_k\),并利用 \(H_m\) 的前 \(k\) 行和前 \(k+1\) 列重构残差项 \(h_{k+1,k}\)。
- 从第 \(k+1\) 步继续Arnoldi过程,直到 Ritz 值收敛(残差范数小于容忍度)。
4. 数值稳定性与收敛性
- 隐式重启避免显式计算 \(p(A)v_1\),防止滤波多项式放大舍入误差。
- 收敛速度取决于目标特征值与其他特征值的分离程度,通常模最大特征值优先收敛。
5. 应用场景
- 大型稀疏非对称矩阵特征值问题(如流体力学、量子化学中的偏微分方程离散化)。
- 软件实现:ARPACK库中的
eigs函数基于IRAM。
通过上述过程,IRAM在有限内存下高效计算非对称矩阵的部分特征值,是Krylov子空间方法的重要改进。