这在某种程度上是出乎意料的,但我最近求解非线性方程组的经验是,将它们视为常方程组的右手边,然后使用 ODE 求解器对系统进行演化可能比使用通常的牛顿法快得多-拉夫森迭代。
当然,这只适用于某些特定类型的非线性方程。我正在处理的方程式来自化学平衡问题。化学演化方程看起来像
目标是解方程
我不明白的是,ODE 求解器还内置了 Newton-Raphson 迭代,这是隐式方案(我正在使用的方案)中需要的;ODE 方法如何更快?
编辑:非线性方程有一个平凡的解决方案,但这很少是我们想要的。我的理解是,不能保证牛顿迭代将从初始估计开始收敛到“物理”解决方案,而 ODE 方法似乎具有此属性。
更新:我用守恒方程替换了一个非线性方程,现在牛顿法运行得更快(相似大约比 ODE 方法快 4 倍),并且很可能不这样做会产生错误的结果,因为非线性方程组不是完全独立的(这让牛顿求解器抱怨)。