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
New Changes and additions 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 Announcements, questions, and feature requests
github Repository where development takes place
issues Report bugs here
Browse Browse the svn mirror of source code
Timeline View recent changes to svn mirror of source code
jenkins Automated Test Results
doxydoc Developer Doxygen documentation

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