Krylov 子空间方法可以用作多重网格的平滑器吗?

计算科学 线性代数 多重网格 迭代法 克雷洛夫法
2021-12-05 22:40:41

据我所知,多重网格求解器使用迭代平滑器(例如 Jacobi、Gauss-Seidel 和 SOR)来抑制各种频率的误差。可以改用 Krylov 子空间方法(如共轭梯度、GMRES 等)吗?我不认为它们被归类为“平滑器”,但它们可用于近似粗网格解决方案。我们能否期望看到与标准多重网格方法类似的解决方案收敛?还是取决于问题?

1个回答

是的,你可以,但是 Krylov 方法通常没有很好的平滑特性。这是因为它们以一种自适应方式针对整个频谱,以最小化残差或合适的误差范数。这通常包括一些低频(长波长)模式,粗网格可以很好地处理这些模式。Krylov 平滑器也使多重网格循环非线性,因此如果多重网格被用作外部 Krylov 方法的预处理器,则外部方法应该是“灵活的”(例如 GCR 或 FGMRES)。

使用 Krylov 平滑器也大大增加了必须计算的点积的数量,这成为并行的一个重要瓶颈。然而,即使具有这些不吸引人的特性,Krylov 平滑器有时也很有用,特别是对于没有良好插值算子可用的难题。

更流行的替代方法是使用多项式平滑器(通常是 Chebyshev)。这些方法针对光谱的特定部分。对于对称椭圆 PDE(其中离散算子是对称正定或近似正定),通常估计最大特征值λmaxD1A在哪里D1是点块雅可比预条件子A并定位一个范围(0.1λmax,1.1λmax). 多项式平滑器没有减少并且是线性运算(对于任何选择的多项式次数,通常在1也许5)。通常是几次迭代(比如510) 的 GMRES 或 CG 用于估计λmax,因此用户不需要自己计算这些。的估计λmax一些代数多重网格方法也使用它来选择粗化策略。

Adams、Brezina、Hu 和 Tuminaro (2003)是一篇关于多项式平滑器的并行和算法性能的好论文。请注意,对于非对称问题,多项式平滑器往往不太有效(和/或难以制定),在这种情况下,您可能需要使用 Gauss-Seidel 或更复杂的(块/分布式)松弛方案。