SOR方法中最优权重因子的最佳搜索算法

计算科学 matlab 稀疏矩阵 迭代法
2021-12-22 09:55:26

我编写了一个算法,用于搜索要在连续松弛 (SOR) 方法中实现的最佳权重参数,该方法通过对区间进行矢量化来干净地工作,并且对于每个 ω,计算迭代矩阵的谱半径。

但是,我被建议不要将这种方法用于大型稀疏矩阵,因为计算成本很高(同样计算大型矩阵的条件数是不可行的),而是将其用作演示工具。因此,我想知道哪种策略最适合近似大型稀疏系统的最佳权重参数(),这将允许 SOR 的最佳收敛,如下所示,从分解开始A到下三角矩阵、对角矩阵和上三角矩阵A=DLU. 因此,对于权重参数ω,SOR 由 给出:

(1ωD+L)xk+1=(11ω)Dxk+Uxk

此外,由于我的问题,我想知道 Jacobi、Gauss-Seidel 和 SOR 等经典迭代平稳方法现在是否值得在处理大型稀疏系统时使用,或者它们是否已经过时并且现在的默认偏好是 Krylov方法?

1个回答

除了矩阵具有特定属性的非常特殊的情况外,您提到的那些固定方法不再用作求解器。但它们被用作 Krylov 空间方法的前置条件。

确定最佳松弛参数的方式ω是选择一个随机向量b并使用该方法求解线性系统Ax=b达到给定的容差。然后,对于给定的ω,计算达到公差需要多少次迭代。对不同的值重复此操作ω并比较哪个ω导致最少的迭代。