[SciPy-Dev] Consensus on the future of integrate.ode
Mario Mulansky
mario.mulansky at gmx.net
Thu Sep 5 19:18:12 EDT 2013
> Please, please don't implement anything in the SciPy ODE solvers with Boost.
> odeint unless it's a separate interface that requires extreme generality.
>
> Boost.odeint uses Boost.uBLAS for its linear algebra (see
> http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/concepts/
> implicit_system.html), and Boost.uBLAS is slow because it tries to be
> general (everything is templated), and it has debugging features added by
> default.
>
> A lot of users (myself included) don't need that generality, and would
> prefer the extra performance that you'd get from a code that can use a
> faster dense linear algebra library (like an optimized LAPACK, Eigen,
> Elemental, maybe MTL4).
I agree with the concerns but I would like to note that the current
implementation of implicit routines in Boost.odeint is preliminary. We are
currently working on a generalization of these routines to allow the usage of
arbitrary backends that should be done by the end of the year. However,
Boost.odeint misses some more of the functionality of CVODE, e.g. automatic
detection of stiffness or numerical Jacobi approximation. But I think that
using Boost.odeint could be benefitial for scipy.odeint (e.g. parallelization)
and we would be happy to assist scipy developers, e.g. by providing missing
functionality, if you want to use Boost.odeint.
Best regards,
Mario
More information about the SciPy-Dev
mailing list