比较Boost.Odeint vs Scipy.integrate.odeint?

时间:2016-02-04 14:21:09

标签: python c++ boost numerical-methods differential-equations

我最近在boost.odeint库上搞砸了,我对可能性和可配置性的数量感到惊讶。但是,广泛使用scipy.integrate.odeint(这实际上是fortran中ODEPACK的包装)我想知道他们的表现如何比较。我知道boost.odeint也带有并行化,这是scipy(据我所知)不可能提高性能然后很多,但我要求单核心情况。 但是,因为在这种情况下我必须将boost.odeint(使用cython或boost.python)包装到python中,也许有人已经这样做了吗?这将是一个很好的成就,因为所有的分析可能性在python中都要先进得多。

1 个答案:

答案 0 :(得分:0)

据我所知,通过比较可用的步进器列表 Boost.odeint和scipy.integrate.ode,两者实现的唯一算法是 Dormand-Prince五阶步进,dopri5。你可以比较一下 使用Python在Python中实现这两种算法的效率 this Cython wrapper到Boost.odeint(它没有暴露所有的 由Boost.odeint提供的步进器,但确实暴露了dopri5)。

根据您对“测试性能”的定义,您还可以进行比较 不同的算法,但这显然与比较不一样 两种相同算法的实现。