A Package for Differentiation of C++ Algorithms

We refer to the step by step conversion from an algorithm that computes function values to an algorithm that computes derivative values as Algorithmic Differentiation (AD); often referred to as automatic differentiation. Given a C++ algorithm that computes function values, CppAD generates an algorithm that computes corresponding derivative values (of arbitrary order using either forward or reverse mode). A brief introduction to AD can be found at wikipedia . The CppAD documentation also contains an introduction to AD as well as the mathematical theory for CppAD's calculations. The web site autodiff.org is dedicated to research about, and promoting the use of, AD.

CppAD is freely available with either the Eclipse Public License Version 1.0 , or the GNU General Public License Version 3.0 .

Project Manager
Home page for the project manager Bradley M. Bell

Speed Testing a C++ Operator Overloading AD Package
CppAD includes a set of speed test that can be extended to an arbitrary C++ operator overloading AD package; see speed test program

CppAD Links
Wiki Other home page
Whats new Changes and additions to CppAD in reverse order by date
Install Download, test, and install current version
Html User documentation with math displayed by MathJax
Xml User documentation with math converted to MathML
Download Download source code tarballs
Mailing list Announcements, questions, and feature requests
Browse Browse the svn mirror of source code
Timeline View recent changes to svn mirror of source code
doxydoc Developer Doxygen documentation
jenkins Automated Test Results
github Repository where development takes place; report bugs under issues

Installing Projects General help for installing COIN-OR projects
Night Builds How the nightly build of the download tarballs works