广义最小残差法(GMRES)在求解非对称线性方程组中的预处理技术
题目描述
考虑非对称线性方程组 \(A\mathbf{x} = \mathbf{b}\),其中 \(A \in \mathbb{R}^{n \times n}\) 是非对称且可能病态的大型稀疏矩阵。直接应用GMRES算法可能收敛缓慢甚至失败。需设计一种预处理技术,通过构造预处理矩阵 \(M\) 改善系数矩阵的条件数,加速GMRES迭代。要求详细解释预处理GMRES(PGMRES)的构造步骤、数学原理及迭代流程。
解题过程
1. 预处理的基本思想
预处理的目标是构造非奇异矩阵 \(M \approx A\),使得预处理后的系统 \(M^{-1}A\mathbf{x} = M^{-1}\mathbf{b}\)(左预处理)或 \(AM^{-1}\mathbf{y} = \mathbf{b}\)(右预处理,其中 \(\mathbf{x} = M^{-1}\mathbf{y}\))具有更优的谱性质(如特征值聚集、条件数降低)。本问题以左预处理为例。
2. 预处理矩阵 \(M\) 的常见选择
- 不完全LU分解(ILU):通过丢弃LU分解中某些小元素,得到稀疏近似 \(M = LU \approx A\)。
- 对角预处理:取 \(M = \mathrm{diag}(A)\),适用于对角占优矩阵。
- 多项式预处理:用低次多项式近似 \(A^{-1}\)。
以下以ILU预处理为例展开。
3. ILU预处理GMRES的步骤
步骤3.1 计算ILU分解
对矩阵 \(A\) 进行不完全LU分解:
- 设定填充阈值(如允许的填充级别或丢弃容差),仅保留部分非零元。
- 执行高斯消元,但跳过被丢弃元素的计算,得到 \(L\)(单位下三角)和 \(U\)(上三角),满足 \(A \approx LU = M\)。
步骤3.2 预处理GMRES迭代
左预处理系统为:
\[(LU)^{-1}A\mathbf{x} = (LU)^{-1}\mathbf{b} \implies U^{-1}L^{-1}A\mathbf{x} = U^{-1}L^{-1}\mathbf{b}. \]
GMRES迭代基于Krylov子空间 \(\mathcal{K}_m(M^{-1}A, M^{-1}\mathbf{b})\) 寻找最优解。
具体流程:
- 初始化:设初始猜测 \(\mathbf{x}_0\),计算残差 \(\mathbf{r}_0 = \mathbf{b} - A\mathbf{x}_0\)。
- 预处理残差:解方程组 \(LU\mathbf{z}_0 = \mathbf{r}_0\)(实际依次解 \(L\mathbf{y} = \mathbf{r}_0\),再解 \(U\mathbf{z}_0 = \mathbf{y}\)),得 \(\mathbf{z}_0 = M^{-1}\mathbf{r}_0\)。
- Arnoldi过程:
- 令 \(\mathbf{v}_1 = \mathbf{z}_0 / \|\mathbf{z}_0\|_2\)。
- 对 \(j = 1, 2, \dots, m\):
- 计算 \(\mathbf{w} = M^{-1}A\mathbf{v}_j\)(即解 \(LU\mathbf{w} = A\mathbf{v}_j\))。
- 对 \(i = 1\) 到 \(j\):计算 \(h_{ij} = \mathbf{v}_i^\top \mathbf{w}\),并令 \(\mathbf{w} = \mathbf{w} - h_{ij}\mathbf{v}_i\)。
- 令 \(h_{j+1,j} = \|\mathbf{w}\|_2\),若 \(h_{j+1,j} = 0\) 则终止,否则设 \(\mathbf{v}_{j+1} = \mathbf{w} / h_{j+1,j}\)。
- 最小二乘求解:构造 \(m \times m\) 上Hessenberg矩阵 \(\bar{H}_m\),解最小二乘问题 \(\min_{\mathbf{y}} \| \beta \mathbf{e}_1 - \bar{H}_m \mathbf{y} \|_2\)(其中 \(\beta = \|\mathbf{z}_0\|_2\),\(\mathbf{e}_1\) 为单位向量)。
- 更新解:计算 \(\mathbf{x}_m = \mathbf{x}_0 + V_m \mathbf{y}_m\)(\(V_m\) 为Arnoldi基向量矩阵)。
4. 预处理效果分析
- 若 \(M^{-1}A\) 的特征值聚集于1附近,GMRES收敛速度显著提升。
- ILU的填充阈值需权衡:过严则 \(M\) 近似效果差,过松则计算成本高。
- 实际中常结合重启动策略(如GMRES(m))避免存储开销过大。
5. 总结
预处理GMRES通过将原问题转化为谱性质更优的等价系统,有效克服了非对称病态矩阵的收敛难题。关键在于预处理矩阵 \(M\) 的选取需兼顾近似精度与计算效率。