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.
As simple as that:
conda install pycppad -c conda-forge
As simple as that:
pip install pycppad
PyCppAD dependes on the following dependencies:
- Boost.Python
- Eigen3
- EigenPy
- CppAD
- CppADCodeGen (Optional)
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
The following people have been involved in the development of PyCppAD and are warmly thanked for their contributions:
- Rohan Budhiraja (Inria): main developer
- Justin Carpentier (Inria): main developer and manager of the project
The development of PyCppAD is supported by the Willow team @INRIA.