我有一个由泊松方程的有限元离散化产生我正在应用一个 IC0(与原始矩阵具有相同稀疏度的然而,当这个系统变得足够大时,我偶尔会在某些迭代中得到负的预处理残差积(其中,并且是预处理器)。
分解期间或在前向和后向替换期间由浮点错误引起的(此时我使用双精度,因此目前不能选择使用更高的精度) 。我使用 Cholesky–Banachiewicz 算法进行分解(由于浮点精度我已经手动确保完全对称,并且我还尝试使用更新而不是在每次 PCG 迭代中,但这并没有解决问题。有什么方法可以使它更健壮吗?或者关于不会涉及如此大错误的预处理器的任何其他建议?我目前正在考虑域分解并阻止 Jacobi,因为它允许我在多个较小的系统上执行分解。