从我所看到的情况来看,odeint似乎会自动决定要使用哪种算法。但是,我正在使用的数学在收敛方面足够挑剔,我想对使用哪种算法有更多的控制。我曾尝试使用ode(特别是vode),但是由于所有活动部件,我很难调试它。我真的对分解我正在使用的ode求解器的所有细节不感兴趣:我只想能够告诉odeint使用一个特定的算法并每天将其命名。这可能吗,还是我需要调试ode? p>
答案 0 :(得分:1)
odeint
使用的LSODA方法自动在Adam的方法(非刚性)和BDF(刚性)之间切换,据我所知,它不允许更改此行为。
如果您正在寻找具有类似接口的求解器,但可以在其中明确选择积分方法,请查看scipy的solve_ivp
。
它具有可选参数method
,可让您选择集成方法。确保不要选择'LSODA'
,否则您将再次遇到相同的问题。