Comparison Boost.Odeint vs Scipy.integrate.odeint?

Comparison Boost.Odeint vs Scipy.integrate.odeint?

本文关键字:integrate odeint Scipy vs Boost Odeint Comparison      更新时间:2023-10-16

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

据我比较可用步进器列表可以看出Boost.odeint 和 scipy.integrate.ode,两者实现的唯一算法是多曼德-王子五阶踏步机,dopri5 .您可以比较该算法在Python中的两种实现的效率通过使用这个 Cython 包装器 到 Boost.odeint(它不会公开所有步进器由 Boost.odeint 提供,但确实公开了dopri5 )。

根据您对"测试性能"的定义,您还可以比较不同的算法,但这显然与比较不是一回事同一算法的两个实现。