Skip to content

Simple-Robotics/pycppad

Repository files navigation

PyCppAD — Python bindings for CppAD Automatic Differentiation library

License Pipeline status Coverage report Conda Downloads Conda Version PyPI version

PyCppAD is an open-source framework that provides bindings for the CppAD Automatic Differentiation(CppAD) C++ library in Python. PyCppAD also includes support for the CppADCodeGen (CppADCodeGen) library, which exploits CppAD functionality to do code generation.

Installing PyCppAD

Installation via

As simple as that:

   conda install pycppad -c conda-forge

Installation via PyPI

As simple as that:

   pip install pycppad

Installation by source

Dependencies

PyCppAD depends on the following dependencies:

Compiling PyCppAD

Once the dependencies have been installed, follow the following commands to compile PyCppAD:

cd ${path_to_your_development_source}/
git clone --recursive https://github.com/Simple-Robotics/pycppad.git
cd pycppad
mkdir _build-RELEASE
cd _build-RELEASE
cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=${path_to_your_installation}
make install

Set up the path_to_your_installation and path_to_your_development_source based on your personal development environment.

Alternatively, to compile with CppADCodeGen support, add -DBUILD_WITH_CPPAD_CODEGEN_BINDINGS=ON to the cmake command, and follow the build sequence as before:

cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=${path_to_your_installation} -DBUILD_WITH_CPPAD_CODEGEN_BINDINGS=ON

Credits

The following people have been involved in the development of PyCppAD and are warmly thanked for their contributions:

Acknowledgments

The development of PyCppAD is supported by the Willow team @INRIA.