我有一个关于线性代数的问题。
我们有一个流体求解器,可以求解压力的泊松方程。当域的某些区域完全被 Neumann 条件包围时,矩阵有一个零空间,我们必须对此进行纠正。我们保留封闭区域的掩码,并在每次迭代中计算平均值并将其减去。
我们注意到,在这种情况下,我们可以从矩阵本身而不是从域中推断出掩码。这样,我们就有了一种修改后的数值方法,它只对矩阵起作用和 RHS, 但仍然收敛于有一个空空间(与第一段相反,其中方法的输入是, 和封闭区域掩码)。
我想知道这是否更概括了一点,或者是否有人考虑过这一点。例如,即使输入矩阵有一个零空间,并且只有输入是和? 我们感兴趣的解决方案是每个 Neumann 封闭区域具有最小平均值的解决方案。
我很感兴趣,因为我们的域并不总是那么简单;有时我们没有诺伊曼条件,但有其他关于压力的条件仍然离开使用零空间,从软件的角度来看,计算零空间校正似乎更稳健本身。
(通常,提到 Jacobi 的堆栈溢出问题的答案是你为什么使用 Jacobi??!仅供参考,我们的完整求解器是多重网格预条件共轭梯度,我们使用 Jacobi 和 Gauss-Seidel 作为多重网格的平滑器(A. McAdams , E. Sifakis, J. Teran, 2010)。)
谢谢!