Skip to content

算法Algorithm

多重网格 V-cycle

Multigrid V-cycle

递归求解残差方程,逐层展开七节点链的一次完整 V-cycle,并证明对称稳定平滑如何给出可供 PCG 使用的固定正定应用。

形式陈述 ​

两网格方法把难题缩小,但粗问题仍可能很大。V-cycle继续在粗问题上做一次同样的循环,直到最粗层足够小,才精确求解。

设层级为 A0,…,AL,未知量数逐层减少,A0=A。每层延拓 Pℓ 满列秩,且

Aℓ+1=PℓTAℓPℓ.

一次循环的输入是层号、当前近似 x 和该层右端 b:

  1. 若已在最粗层,精确解 ALx=b 并返回。
  2. 做固定次数预平滑。
  3. 重算残差 r=b−Aℓx,限制为 bc=PℓTr。
  4. 以零初值对 Aℓ+1z=bc 递归调用一次 V-cycle。
  5. 延拓校正:x←x+Pℓz。
  6. 做固定次数后平滑,返回 x。

零初值的要求针对新引入的粗误差方程;它没有继承“粗层原解”的含义。每层只递归一次,调用轨迹先下降再上升,形如字母 V。

直觉

细层的平滑清理局部振荡,剩余困难转给粗层。粗层拿到的同样是一个待修正残差,它也先平滑,再把更长尺度交给下一层。回程时,每一层把下层提供的修正译回自己的变量,再清理延拓引入或尚未消除的误差。

一次下降,一次上升

线性成本需要哪些前提 ​

若最粗层规模有统一的常数上界,每层矩阵与延拓的实际存储槽位数均为 O(nℓ)(计入重复项与显式零),每步平滑的工作也是 O(nℓ)、平滑次数固定,且 nℓ+1≤θnℓ、0<θ<1,则一次循环的成本递推为

T(nℓ)≤cnℓ+T(nℓ+1),T(n0)=O(∑ℓnℓ)=O(n0).

层级存储在同样假设下也是线性的。设置 Galerkin 粗矩阵、寻找聚合或构造延拓的成本另计。若粗矩阵越来越稠密,或相邻层规模几乎不降,一次循环就没有上述线性保证。

线性成本也不等于线性时间求到任意精度:还需循环次数不随网格显著增长。这一收敛结论需要平滑与粗空间逼近性质,而不是由 V 形调用图本身推出。

例子与边界

七节点的一次完整循环 ​

取 A0=T7=tridiag(−1,2,−1),b=(1,0,0,0,0,0,1)T,x0=0,精确解为全一向量。使用线性插值、转置限制及一次 ω=2/3 加权 Jacobi 预平滑和后平滑。层级矩阵为

A0=T7,A1=12T3,A2=(1/2).

细层一次预平滑给出 x=(1/3,0,0,0,0,0,1/3)T,残差为 (1/3,1/3,0,0,0,1/3,1/3)T,限制后得到粗右端 (1/2,0,1/2)T。

三节点层从零开始。该层对角为 1,一次预平滑得到 (1/3,0,1/3)T,残差为 (1/6,1/3,1/6)T。再限制到一节点,右端为 1/2;最粗方程 (1/2)z=1/2 返回 z=1。

延拓到三节点为 (1/2,1,1/2)T,与该层预平滑结果相加,成为 (5/6,1,5/6)T。后平滑一次后,三节点层返回

zc=(17/18,8/9,17/18)T.

它不是精确粗解 (1,1,1)T,因为这里只做了一个粗 V-cycle。延拓并加回细层,得到

xcorr=(29/36,17/18,11/12,8/9,11/12,17/18,29/36)T.

最后细层后平滑返回

xout=(11/12,8/9,11/12,49/54,11/12,8/9,11/12)T.

原残差为

b−A0xout=(1/18,1/18,−1/27,1/54,−1/27,1/18,1/18)T.

能量误差平方从 2 降为 25/1458。这些状态同时核对了粗矩阵尺度、限制对象、零初值、校正符号和前后平滑次序。

十五节点时同一规则产生 15→7→3→1 层级,各矩阵为 2−ℓTnℓ。把它们都替换成未缩放的 Tnℓ,却保持原限制右端,不能复现上述算法。

错把粗右端设为限制当前解 ​

如果在细层把 bc 设成 PTx,从 x=0 开始时它就是零,完全没有把原方程的不平衡传给粗层。即使当前解非零,这个量也不满足粗误差方程。正确对象始终是平滑后的 PT(b−Ax)。

推论与应用

何时可作为标准 PCG 的预条件应用 ​

把整个层级固定,以零初值运行一轮,可定义 Bℓb=Vcycleℓ(0,b)。固定次数线性平滑和线性粗求解使它保持线性;要满足标准正定预条件接口,还要检查对称与正定。

考虑一对预后平滑:预平滑应用 W,后平滑应用 WT,粗应用为 K=PBℓ+1PT。展开三步更新可得

Bℓ=W+WT−WTAℓW+(I−WTAℓ)K(I−AℓW).

若粗应用正定,则第二项形式为一个半正定合同。若平滑的对称化部分

W―=W+WT−WTAℓW≻0,

整个 Bℓ 就对称正定。最粗层为精确正定逆,因而可逐层归纳。

对 W=ωD−1,有

W―=ωD−1/2(2I−ωD−1/2AℓD−1/2)D−1/2,

所以 0<ω<2/λmax(D−1Aℓ) 足够。本例各层都是缩放链矩阵,ω=2/3 满足此条件。脚本把每个标准基向量送入循环,实际构造小例子的应用矩阵并检查对称性和正主元;证明则不依赖只测这些例子。

前向 Gauss–Seidel 若同时用于前后两个方向,并不自动构成上述转置配对;常见对称选择是前扫与后扫。改变内层容差或因输入而提前停止,也可能使应用可变或非线性。应先建立接口性质,再调用标准 PCG,不能仅因为方法名叫多重网格就跳过这一步。

自适应网格加密改变离散空间以降低离散误差;V-cycle 在固定目标离散系统内部使用层级减少代数误差。一次求解可以同时使用二者,但任务和验收量应分开。

参考资料
  • Yousef Saad, Iterative Methods for Sparse Linear Systems, 2nd ed., 2003, §13.4.3, Algorithms 13.3–13.4:作者教材。递归零初值、残差传递、循环成本与误差传播。
  • Marian Brezina et al., “Adaptive Smoothed Aggregation (αSA) Multigrid”, 2004, §2, Algorithm 1:作者稿。Galerkin 层级、递归校正和预后平滑的完整次序。
关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系