迭代线性求解器的初始猜测的作用

计算科学 线性求解器 预处理 克雷洛夫法
2021-12-03 12:54:39

假设我们对线性系统使用预处理迭代求解器。如果求解器的初始状态可以选择得非常接近精确解——这会降低对预处理器的要求吗?

3个回答

实践经验表明,试图获得好的初始迭代没有什么价值。例如,在求解偏微分方程的情况下,如果您从一个网格中获取解,将其插入到更精细的网格上,然后将其用作 CG 迭代之类的初始猜测,以在更精细的网格上解决相同的问题,那么事实证明,与使用零向量开始迭代相比,您只需要可以忽略不计的迭代次数。增益不值得代码或进行插值的时间。

但是,如果您遇到非线性问题,或者您使用的是定点迭代而不是 CG 之类的东西,情况就大不相同了。

它甚至可能是有害的。

在 Liesen/Strakos Krylov 子空间方法原理和分析(第 5.8.3 章)中,据报道,非零初始x0值使 GMRes 迭代x0在开始逼近所需解之前首先删除不需要的分量。

如果使用非零初始猜测,则应通过Hegedus 技巧重新调整;参见Krypy 包中的解释和实现。

PS:尽管如此,在时间步长方案中求解线性系统时,我在非零初始猜测方面取得了很好的经验。

这个答案是 Wolfgang Bangerth 的答案的补充。

如果有任何工作要做:编码、求解、插值等,对于迭代线性求解器的初始猜测当然不值得打扰。因为与零向量相比,正确的初始猜测的效果将非常小的。

然而,在某些情况下,一个不错的初始猜测实际上已经可用。一个示例是具有恒定(过频)网格的频率扫描。

比方说,由于频域中的某些激发,人们计算了物体的散射模式,并希望得到一组频率的解({f1,,fN}– 排序)。现在,在解决i频率fi,使用先前频率的解决方案完全有意义fi1作为初步猜测。解决方案fi1已经计算过了,不需要进行插值——因此,节省了几次迭代,成本几乎为零。

旁注:

  • 从头开始通常是有意义的fN下降到较低的频率f1在频率扫描期间,较高频率的解决方案成为较低频率的初始猜测。
  • 当然,如果频率在{f1,,fN}非常分开和解决方案fifi1th - 很难从这种最初的猜测选择中受益。