假设我们对线性系统使用预处理迭代求解器。如果求解器的初始状态可以选择得非常接近精确解——这会降低对预处理器的要求吗?
迭代线性求解器的初始猜测的作用
计算科学
线性求解器
预处理
克雷洛夫法
2021-12-03 12:54:39
3个回答
实践经验表明,试图获得好的初始迭代没有什么价值。例如,在求解偏微分方程的情况下,如果您从一个网格中获取解,将其插入到更精细的网格上,然后将其用作 CG 迭代之类的初始猜测,以在更精细的网格上解决相同的问题,那么事实证明,与使用零向量开始迭代相比,您只需要可以忽略不计的迭代次数。增益不值得代码或进行插值的时间。
但是,如果您遇到非线性问题,或者您使用的是定点迭代而不是 CG 之类的东西,情况就大不相同了。
它甚至可能是有害的。
在 Liesen/Strakos Krylov 子空间方法原理和分析(第 5.8.3 章)中,据报道,非零初始x0
值使 GMRes 迭代x0
在开始逼近所需解之前首先删除不需要的分量。
如果使用非零初始猜测,则应通过Hegedus 技巧重新调整;参见Krypy 包中的解释和实现。
PS:尽管如此,在时间步长方案中求解线性系统时,我在非零初始猜测方面取得了很好的经验。
这个答案是 Wolfgang Bangerth 的答案的补充。
如果有任何工作要做:编码、求解、插值等,对于迭代线性求解器的初始猜测当然不值得打扰。因为与零向量相比,正确的初始猜测的效果将非常小的。
然而,在某些情况下,一个不错的初始猜测实际上已经可用。一个示例是具有恒定(过频)网格的频率扫描。
比方说,由于频域中的某些激发,人们计算了物体的散射模式,并希望得到一组频率的解(– 排序)。现在,在解决频率,使用先前频率的解决方案完全有意义作为初步猜测。解决方案已经计算过了,不需要进行插值——因此,节省了几次迭代,成本几乎为零。
旁注:
- 从头开始通常是有意义的下降到较低的频率在频率扫描期间,较高频率的解决方案成为较低频率的初始猜测。
- 当然,如果频率在非常分开和解决方案与th - 很难从这种最初的猜测选择中受益。