3. 预条件技术基本原理

求解线性方程组 Ax = b 时,迭代法(如共轭梯度法 CG、GMRES 等)的收敛速度在很大程度上由系数矩阵 A 的谱性质决定。当 A 的条件数很大、特征值分布分散时,Krylov 子空间方法往往收敛缓慢甚至停滞。预条件技术的核心思想,就是用一个"容易求逆"的矩阵 M 去近似 A,把原问题转化为一个谱性质更好的等价问题,从而加速迭代收敛。本节从定义出发,讲清左/右预条件两种形式,并解释谱等价与条件数改善的内在机制。

一、预条件子的定义

设 A ∈ ℝn×n 非奇异,M 为另一个非奇异矩阵。若 M 满足两个条件:其一,M 在某种意义下"接近" A(即 M-1A 或 AM-1 接近单位阵);其二,形如 Mz = r 的线性方程组容易求解(通常 M 具有稀疏、三角、对角或块结构,求解代价为 O(n) 或 O(n log n)),则称 M 为 A 的一个预条件子(preconditioner)。

需要强调,预条件子不是"近似解",而是"近似算子"。它不要求 M ≈ A 在数值上精确,而要求 M-1A 的谱尽量聚集在 1 附近。理想情形是 M = A,此时 M-1A = I,条件数为 1,但求解 Mz = r 与解原问题一样困难,失去意义。因此预条件技术本质上是在"近似质量"与"求解代价"之间做权衡:M 越接近 A,收敛越快,但每次迭代的预处理开销越大。

二、左预条件与右预条件形式

把预条件子作用到原方程上有三种常见写法,它们对应不同的算子谱性质,需要区分清楚。

左预条件:在 Ax = b 两边左乘 M-1,得

M⁻¹A x = M⁻¹b

此时迭代求解的系数矩阵是 M-1A,右端项变为 M-1b。Krylov 子空间建立在算子 M-1A 上,残差按预处理后的范数度量。左预条件适合 M-1A 与 A 谱性质接近、且右端项预处理代价可接受的情形。

右预条件:令 x = M-1y,代入得

A M⁻¹ y = b,   x = M⁻¹ y

迭代求解的系数矩阵是 AM-1,右端项保持 b 不变,解出 y 后再回代得到 x。右预条件的优点是残差 b − Ax 可直接由迭代量计算,便于监控真实残差;缺点是最终解需要额外一次 M-1 作用。

对称预条件(分裂形式):当 A 对称正定且 M 也对称正定时,常写成

M⁻¹/² A M⁻¹/² y = M⁻¹/² b,   x = M⁻¹/² y

变换后矩阵仍对称正定,可保持 CG 法的适用性。实际实现中通常不显式构造 M-1/2,而是通过 M 的 Cholesky 因子间接实现。

左、右预条件在精确算术下产生的 Krylov 子空间是等价的(谱相同),收敛步数理论一致;差异主要体现在残差监控方式、数值舍入行为以及实现时是否需要额外回代。工程中若关心真实残差曲线,右预条件更直观;若已有成熟的左预处理算子,直接用左形式即可。

三、谱等价与条件数改善机制

预条件为何能加速收敛?关键在于它改变了算子谱的分布。设 A 对称正定,特征值为 λ1 ≤ … ≤ λn,条件数 κ(A) = λn/λ1。CG 的收敛上界近似为

‖e_k‖_A / ‖e_0‖_A ≤ 2 · ((√κ − 1)/(√κ + 1))^k

可见 κ 越小,收敛越快。若预条件子 M 满足谱等价关系

c₁ M ≤ A ≤ c₂ M   (即 c₁ ≤ λ(M⁻¹A) ≤ c₂)

则预处理后算子 M-1A 的条件数满足 κ(M-1A) ≤ c₂/c₁。只要 c₂/c₁ 与网格规模 n 无关(或增长很慢),迭代步数就几乎不随问题规模恶化,这正是"最优预条件子"的标志。例如,对二维 Poisson 方程,无预条件时 κ(A) = O(h-2),CG 步数 O(h-1);采用不完全 Cholesky(IC(0))预条件后,κ 降为 O(h-1),步数降为 O(h-1/2);而采用多重网格或区域分解类预条件,可做到 κ 与 h 无关,步数 O(1)。

从几何上看,预条件相当于对原问题做一次"坐标拉伸":把 A 的等值椭球(特征值跨度大、形状扁长)变换成接近球形的区域,使最速下降或共轭方向法不再被少数极端特征值拖慢。谱等价条件 c₁M ≤ A ≤ c₂M 正是保证这种拉伸后椭球的长短轴比被控制在 c₂/c₁ 之内的数学表述。

预条件作用机制:从谱分散到谱聚集 原始算子 A 特征值分布分散 Re λ Im λ κ(A) 很大 λ 跨度大,CG 收敛慢 M⁻¹ 左预条件 预处理算子 M⁻¹A 特征值聚集于 1 附近 Re λ Im λ κ(M⁻¹A) 显著减小 谱聚集,迭代步数下降 谱等价条件 c₁M ≤ A ≤ c₂M 等价于 c₁ ≤ λ(M⁻¹A) ≤ c₂ 则 κ(M⁻¹A) ≤ c₂/c₁ c₂/c₁ 与 n 无关 → 迭代步数 O(1) → 最优预条件子 预条件 = 用易求逆的 M 近似 A,使 M⁻¹A 的谱聚集,条件数受控

四、一个可操作的判断示例

考虑一维 Poisson 方程 −u'' = f 在 (0,1) 上、零边界条件,均匀网格 h = 1/(n+1),离散后 A 为三对角矩阵,特征值 λk = 4 sin²(kπh/2),κ(A) ≈ 4/(π²h²)。若取 M 为 A 的对角部分(Jacobi 预条件),则 M-1A 的特征值为 2 − 2cos(kπh),条件数仍为 O(h-2),改善有限;若取 M 为 IC(0) 分解,则 κ(M-1A) = O(h-1),CG 步数从 O(h-1) 降到 O(h-1/2)。这个对比说明:预条件子的选择直接决定谱等价常数 c₂/c₁ 随网格的变化率,进而决定算法是否"可扩展"。

实际评估一个预条件子时,建议按以下顺序检查:先确认 M 非奇异且 Mz = r 的求解代价可控;再估计或数值采样 M-1A 的极端特征值,得到 c₁、c₂ 的近似值;最后用少量迭代观察残差下降曲线是否与 κ 的预测一致。若残差下降远慢于理论预测,往往说明 M 与 A 的谱等价关系在边界、系数跳变或非对称情形下被破坏,需要针对具体结构重新设计预条件子。

谱等价是充分性工具而非必要性工具:即使 c₂/c₁ 较大,只要极端特征值个数很少,Krylov 方法仍可能快速收敛。因此不要仅凭条件数上界否定一个预条件子,应结合特征值分布形态与实测迭代历史综合判断。