没有块结构的不确定系统的迭代方法


9

矩阵的不确定系统出现在例如混合有限元的鞍点问题离散化中。然后可以将系统矩阵以以下形式输入

一个ŤC

哪里 一个 是负的(半)定的, C 是正的(半)定的, 是任意的。当然,根据惯例,您可以使用确定性条件,但这几乎就是这些矩阵的结构。

对于这些方法,可以采用Uzawa的方法,实际上是将系统转换为等效的半确定系统的“技巧”,该系统可以通过共轭梯度,梯度下降等解决。

我面临一个不确定的系统,它没有这样的块结构。Uzawa型方法不适用于这种情况。我知道Paige&Saunders引入的最小残差方法(MINRES),这只是一个三项递归,而且似乎易于实现。

问题:例如,MINRES通常是原型制作的好选择吗?有实际意义吗?目前,预处理不是中心问题。


您能说些什么使您的矩阵与众不同吗?例如,这是什么问题?还有其他结构吗?等
比尔·巴特

为了获得最通用的答案,我故意将其留为空白(坦率地说,这隐含地假设存在令人满意的通用答案)。但是我想到的是下面带有亥姆霍兹方程的示例。
shuhalo 2012年

Answers:


7

如果您不关心预处理,那么MINRES是标准选择。但是,请注意,MINRES需要对称的正定前置条件。

如果您关心预处理,那么考虑大多数鞍点问题和一般不确定问题之间的结构差异非常重要。当解决由Lagrange乘子强制执行的约束的椭圆问题时,大多数鞍点问题都会出现。不可压缩性和接触约束是常见的例子。对于此类问题,操作员可以在满足约束条件的子空间上强制使用格林函数快速衰减的子空间。使用块预处理器(预处理的Uzawa是该家族的成员),具有兼容平滑器的多网格(例如Vanka或基于块分解)或具有适当局部和粗糙问题的多级域分解,可以有效解决此类问题。

Helmholtz方程是不是鞍点问题的不定式问题的典型示例

-一个ü-ķ2ü=F

哪里 一个X由正常数均匀地上下限定。对于ķ格林函数的功能很大,具有很高的振荡性,因此很难进行预处理(和离散化)。两种合理的方法是基于完美匹配的层扫掠预处理器和“波多网格”,如对此问题的回答所述。不幸的是,这些方法对于特定的方程式和技术实施而言是相当习惯的。


1
公平地讲,虽然扫掠式预处理器肯定是有效并行执行的技术,但这种想法并不特定于Helmholtz;主要要求是吸收边界条件(例如,完全匹配的层)。
Jack Poulson'1

3

一个有趣的相关问题是选择稀疏线性系统求解器时应遵循哪些准则?,尽管在这种情况下,您只会对迭代方法感兴趣。我对迭代方法的理解是,任何给定方法的收敛在很大程度上取决于矩阵的频谱。即使您不能使用Uzawa的方法,您仍然可以尝试GMRES,双共轭稳定梯度,MINRES,准最小残差方法以及其他适用于不确定矩阵的迭代方法。

如果需要对各种方法进行编码,则可以使用PETSc之类的库在算法中调用求解器,该库实现了各种迭代线性求解器。


1

MINRES是此类问题的最佳选择。


1
请不要以这种方式链接您的个人网站。随意链接与您的答案相关的特定资源,但不要以这种方式链接您的个人站点。我已将其从此答案中删除。这些链接属于您的用户个人资料。
杰德·布朗

您能否详细说明为什么MINRES是此类问题的最佳选择?添加更多详细信息将有助于使您的答案对社区更有用,并有助于您获得更多投票。
Geoff Oxberry 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.