[SciPy-user] Automatic Differentiation with PYADOLC and Removing Boost::Python dependency

Rob Clewley rob.clewley@gmail....
Thu Mar 26 12:34:16 CDT 2009


> On Fri, Mar 27, 2009 at 12:41 AM, Ravi <lists_ravi@lavabit.com> wrote:
>> Hi Sebastian,
>>  Thank you for writing a wrapper for ADOL-C.

Absolutely -- it's a very welcome and valuable tool that I have been
waiting for in python for some time.

On Thu, Mar 26, 2009 at 12:43 PM, David Cournapeau <cournape@gmail.com> wrote:
> It boils down to how much you are ready to work on it, I think. But
> from quickly looking at it, you could build the library and your
> wrapper entirely from distutils - you could then build binary
> installers, tarballs, etc... automatically from distutils "for free".
>

Ravi's points are well taken, and I do not pretend to know much about
boost.python myself, but I am tempted to agree with David that it
would still be more helpful to have a source-based version that does
not depend on boost at all. Maybe Ravi could educate me as to what it
would mean for boost.python to be more portable than python in this
example?

As an example, I would love to use this code in PyDSTool to find
derivatives more accurately to compute periodic orbit solutions of
differential equations, but it does not appeal to me to require boost
as a dependency. My impression from occasional reading of the boost
website is that users would need to install an awful lot of additional
things (often from source on non-windows machines) to get this
interface to work. Alternatively, SWIG is a lightweight additional
dependency that easily wraps simple numpy-dependent C/C++ code, and
this is what I use instead.  I'll be delighted to learn otherwise if I
am mistaken in my impression.

As for compilation, solving it with distutils can be a little messy
but is basically platform independent (modulo cygwin, as mentioned).
This is actually the solution we already use for legacy ODE solvers
(via SWIG) and it works well for us.

-Rob


More information about the SciPy-user mailing list