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 which 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 perform 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 dependes 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, in order 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.