Comparison Boost.Odeint vs Scipy.integrate.odeint?
Comparison Boost.Odeint vs Scipy.integrate.odeint?
我最近偶然发现了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
)。
根据您对"测试性能"的定义,您还可以比较不同的算法,但这显然与比较不是一回事同一算法的两个实现。
相关文章:
- boost odeint什么时候真正调用观测者
- 将 boost::odeint 与向量类一起使用,而无需调整向量的大小
- Eigen::VectorXd 和 Boost::Odeint,不起作用
- 与 boost odeint 集成期间的析构函数调用
- 在 ODEINT 中通过 if 语句选择步进器
- 为什么 odeint 在较新版本的 odeint 中失败?
- boost odeint 中的受控误差步进器是否支持复杂的数据类型?
- 编译错误 C2440,并在 boost odeint 中使用make_dense_output
- Boost ODEINT:具有自定义类和向量空间代数的受控步进器
- 是通过BOOST.UNITS支持尺寸分析的Boost Odeint
- 使用 boost::numeric::odeint 积分非线性函数 f'(x, y, z) = a + b*I
- 微分方程的解在 boost::odeint 和 scipy.integrate 中完全不同
- 模板实例化与Armadillo和Boost :: Numeric :: Odeint
- 如何使用Odeint求解状态空间模型
- 提升 ODEINT 太多参数无法发挥作用
- 犰狳与 Boost Odeint 冲突:Odeint 在集成期间将状态向量调整为零
- 将 boost odeint 与 std::map 和自定义向量空间代数一起使用时,没有可行的重载'='
- 我是否需要安装Boost来构建odeint
- 传递的参数以在C 中增强odeint
- Comparison Boost.Odeint vs Scipy.integrate.odeint?