对于鞍点问题,除了块诊断和块上三角预处理器之外,还有其他更好的方法吗?

计算科学 迭代法 预处理
2021-12-25 01:18:00

对于斯托克斯问题, 具有适当的边界条件,以保证存在唯一的解决方案。

Δu+p=f,.u=0;

使用FDM 或 FEM,离散化,我们可以得到一个鞍点系统 其中,矩阵是SPD,矩阵是满列秩,所以是非奇异的。

Ax=[BEETO][up]=b,
BEA

众所周知,Krylov 子空间方法,例如MINRES、GMRES等,会很慢。我们必须使用前置条件来加快收敛速度​​。我知道,也许最好的选择是块对角和块tiragular预处理器如下: 其中矩阵是 Schur 补码。因为预处理矩阵分别为3 和 2,这意味着GMRES在精确算术意义上最多会收敛3 和 2步。

P1=[BOOS],P2=[BEOS]
S=ETB1EP11A,P21A

因此,我们唯一需要做的就是找到逼近矩阵的最佳方法,以获得最优的幸运的是,AMG是光谱等价的,而 Schur compelemt与恒等矩阵是光谱等价的。这个预处理器是最优的,这意味着迭代步骤与网格大小无关,CPU 时间与未知数成线性关系。我认为到目前为止,没有比AMG的标识矩阵更好的预处理器了,对吧?B,SB1,S1BSBS

我的问题是,从上面的讨论中,我发现鞍点问题已经解决了,因为确实存在易于反转且与网格大小无关的最优预条件子。那么,为什么还有很多人研究鞍点问题。有没有比上述更好的预处理器?我找不到,如果你找到了,请给我一个例子。

(或者这个预条件子可能只是斯托克斯问题的最佳选择?或者如果鞍矩阵来自其他实际应用程序,我们仍然可以使用这个最佳预条件子吗?)欢迎任何提示和建议。

1个回答

你的论点几乎是正确的,但并不完全正确。您正确地指出,对使用单位矩阵会导致迭代次数恒定,但这与说它是最优的不同:如果与网格大小无关,我需要 1,000 次迭代,那么这仍然是一种相当昂贵的方法,我宁愿有一个只需要 50 次的方法。B1S1

换句话说,仅仅因为你有光谱等价的东西并不意味着它是最优的。可能还有其他矩阵在频谱上也是等效的,并导致迭代次数较少。特别是,一个人不仅可以使用一个 AMG 扫描,还可以使用几个(或者在极端情况下完全用求解线性系统);对于,可以想到诸如 BFBT 构造之类的东西。BS

作为研究并非毫无意义的另一个提示:当您在斯托克斯方程中具有空间可变粘度时,很难找到好的预处理器,例如,因为您正在解决非线性问题中的一个步骤。