是否有用于可能对角线项为零的密集矩阵的迭代求解器?

计算科学 线性代数 线性求解器 稀疏矩阵 迭代法 密集矩阵
2021-12-04 13:28:51

是否有一个迭代求解器可以处理中央对角线上潜在的零条目?我正在实现一个多项式拟合算法(最多10th-order) 并且我的矩阵是一个“Vandermonde-like”系统,当我的样本空间相对于我正在拟合的局部参考系的垂直轴对称时,奇次幂多项式基函数会导致零多项式。我尝试过 Gauss-Seidel 和 LUSGS,但后来意识到它们都依赖于非零对角线条目。

编辑:我已经仔细检查了系统是否正确实施,因为它通过高斯消除和反向替换(LUP 分解)来解决。但是,这对我的应用程序来说太慢了( 10th-阶矩阵是121×121),并且更喜欢迭代求解器。

2个回答

迭代 Krylov 子空间求解器通常只需要矩阵向量乘积,而不关心矩阵中是否或在哪里有零。在您的情况下,除非您有关于矩阵的其他信息(例如对称性),否则您可以使用 GMRES。

您可能想到的是预处理问题,并且您不能使用诸如 Gauss-Seidel 或 Jacobi 预处理之类的东西。确实如此,但是根据您对矩阵的了解,您可以执行类似 Jacobi(或 Gauss-Seidel,或 SSOR,或...)的“块”版本,您可以在其中考虑2×2可能是可逆的矩阵块。

结论:我尝试过不带预处理器的 CG、BiCG 和 GMRES,这些都至少比 121x121 矩阵的 LU 分解慢两倍。此外,即使对于接近机器精度的收敛容差,我也无法获得使用 LU 获得的精度。所以我想我会坚持使用 LU :)