有没有办法强迫ODEINT在Python中使用特定的算法?

时间:2019-03-04 17:46:22

标签: python python-3.x ode odeint

从我所看到的情况来看,odeint似乎会自动决定要使用哪种算法。但是,我正在使用的数学在收敛方面足够挑剔,我想对使用哪种算法有更多的控制。我曾尝试使用ode(特别是vode),但是由于所有活动部件,我很难调试它。我真的对分解我正在使用的ode求解器的所有细节不感兴趣:我只想能够告诉odeint使用一个特定的算法并每天将其命名。这可能吗,还是我需要调试ode?

1 个答案:

答案 0 :(得分:1)

odeint使用的

LSODA方法自动在Adam的方法(非刚性)和BDF(刚性)之间切换,据我所知,它不允许更改此行为。

如果您正在寻找具有类似接口的求解器,但可以在其中明确选择积分方法,请查看scipy的solve_ivp。 它具有可选参数method,可让您选择集成方法。确保不要选择'LSODA',否则您将再次遇到相同的问题。