2017-02-05 38 views
0

说我有一个大的系统方程,其中独立方程的大型非线性系统:依次求解还是堆积?

A_i = f(B_i) 
B_i = g(A_i) 

,解决了许多不同的i。现在,这是一个只与成对相关的方程组。已证明algorythm对于解决这个问题最为稳定。

现在,我可以独立解决这些问题(即循环使用i许多scipy.optimize.root,或将它们堆叠在一起并同时解决)。我不确定哪一个会是最快的,而且一般都很难知道。我有支持和反对以下参数:

  • 的algorythm最初数值接近在所提供的猜测雅克比,增加维成倍增加了查找雅可比的时间(说话干犯堆积)
  • 一旦发现雅可比矩阵,大部分更新是线性矩阵代数,因此如果叠加,应该更快。

这有道理吗?在这种情况下,我的结论是“如果解决它需要很长时间(错误的猜测或不规则的函数),堆叠它们,如果它很快,不堆叠”。

回答

1

我不知道我是否理解正确;当你说他们是成对依赖的时,你的意思是整个系统可以在一个小的2x2系统中分解?如果是这样,你肯定应该选择解决更小的系统。如果不是,你能提供一些方程吗?