在哪些应用案例中,加法预处理方案优于乘法预处理方案?

计算科学 线性代数 表现 多重网格 域分解
2021-11-29 01:40:57

在域分解 (DD) 和多重网格 (MG) 方法中,可以将块更新或粗校正的应用组合为加法乘法对于逐点求解器,这是 Jacobi 和 Gauss-Seidel 迭代之间的差异。乘法平滑器为Ax=b作为S(xold,b)=xnew应用为

xi+1=Sn(Sn1(...,S1(xi,b)...,b),b)

并且添加的平滑器被应用为

xi+1=xi+=0nλ(S(xi,b)xi)

对于一些阻尼λi. 普遍的共识似乎是乘法平滑器具有更快的收敛特性,但我想知道:在什么情况下这些算法的加法变体的性能更好?

更具体地说,是否有人有任何用例,其中加法变体应该和/或确实比乘法变体表现得更好?这有理论上的原因吗?大多数关于多重网格的文献都对Additive 方法相当悲观,但它在 DD 上下文中的使用如此之多,就像 Additive Schwarz 一样。这也延伸到了组成线性和非线性求解器的更普遍的问题,以及哪种类型的构造将表现良好并且并行表现良好。

3个回答

加法方法暴露了更多的并发性。如果您可以使用这种并发性,它们通常只比乘法方法快。例如,多网格的粗略级别通常受延迟限制。如果您将粗略的级别移动到较小的子通信器,那么它们可以独立于更精细的级别来解决。使用乘法方案,所有 proc 都必须等待粗略级别的求解。

此外,如果算法需要在每个级别上进行减少,则加法变体可能能够将它们合并,因为乘法方法被迫按顺序执行它们。

对于 SPD 问题,加法方法更适合 MG 平滑,原因如下所述:

@Article{Adams-02, 
author = {Adams, M.~F. and Brezina, M. and Hu, J. J. and Tuminaro, R. S.}, 
title = {Parallel multigrid smoothing: polynomial versus {G}auss-{S}eidel}, 
journal = {J. Comp. Phys.}, 
year = {2003}, 
volume = {188}, 
number = {2}, 
pages = {593-610} }

然而,乘法方法确实具有直接开箱即用的 MG 平滑器的正确光谱特性,也就是说,它们不需要阻尼。对于多项式平滑不是很好的双曲问题,这可能是一个巨大的胜利。

我将重申@Jed 所说的:乘法方法总是至少与加法方法一样收敛(渐近地),所以你只能基于并发获胜,但这取决于架构。