对于我的代码中的大型并行稀疏矩阵(mpiaij 类型矩阵),我正在试验各种预条件器,看看哪一个最适合 GMRES/BiCGSTAB。我在没有指定任何网格/插值/限制信息的情况下尝试了PCMG 预处理器,这实际上似乎对我的问题做得很好。起初,我对这实际上做了什么感到困惑,因为我没有向 PETSc 提供任何有关网格之类的信息,但我认为它所做的只是执行一个平滑步骤。因此,我想知道这个“平滑器”到底是什么,因为它似乎可以很好地作为预处理器。我尝试查看 PCMG 文档,但无法弄清楚。
有人可以告诉我 PCMG 预调节器的默认平滑器是什么,或者至少提供一些关于如何弄清楚它是什么的建议?我尝试过浏览 PETSc 文档,但运气不佳。
编辑:正如下面评论中所指出的,它似乎是切比雪夫更平滑。但是,PETSc 文档说Chebyshev 仅适用于对称正(半)定矩阵。那么,这怎么可能呢?有人可以解释一下吗?