There are several possibilities, some of them are listed on http://en.wikipedia.org/wiki/Automatic_differentiation

== pycppad http://www.seanet.com/~bradbell/pycppad/index.xml pycppad is a wrapper of the C++ library CppAD ( http://www.coin-or.org/CppAD/ )

the wrapper can do up to second order derivatives very efficiently in the so-called reverse mode of AD requires boost::python

== pyadolc http://github.com/b45ch1/pyadolc which is a wrapper for the C++ library ADOL-C ( http://www.math.tu-dresden.de/~adol-c/ )

this can do abritrary degree of derivatives and works quite well with numpy, i.e. you can work with numpy arrays also quite efficient in the so-called reverse mode of AD requires boost::python

== ScientificPython http://dirac.cnrs-orleans.fr/ScientificPython/ScientificPythonManual/ can provide first order derivatives. But as far as I understand only first order derivatives of functions f: R -> R and only in the usually not so efficient forward mode of AD

pure python

== Algopy http://github.com/b45ch1/algopy/tree/master pure python, arbitrary derivatives in forward and reverse mode still quite experimental. Offers also the possibility to differentiate functions that make heavy use of matrix operations.

== sympy this is not automatic differentiation but symbolic differentiation but is sometimes useful

hope that helps, Sebastian

On Wed, Mar 11, 2009 at 4:13 AM, Osman osman@fuse.net wrote:

Hi,

I just saw this python package : PyDX which may answer your needs. The original URL is not working, but the svn location exists.

http://gr.anu.edu.au/svn/people/sdburton/pydx/doc/user-guide.html

svn co http://gr.anu.edu.au/svn/people/sdburton/pydx

br -osman

Numpy-discussion mailing list Numpy-discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion