CppAD bindings to python
Project description
PyCppAD — Python bindings for CppAD Automatic Differentiation library
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), C++ 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:
- Boost.Python
- Eigen3
- EigenPy
- CppAD
- CppADCodeGen (Optional)
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
Acknowledgments
The development of PyCppAD is supported by the Willow team @INRIA.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for pycppad-1.2.0-1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b424e31bb7eac0d92dba5100f210e3daa4aaa6b32a6a51ef6d1e350cf7fd2f47 |
|
MD5 | 79cc508dabab43b7c98cb98db3892f8f |
|
BLAKE2b-256 | 406c805888a100bac209c7c8a8a3b11320c2d0ba1d9545907941cbaaa4ed3fc0 |
Hashes for pycppad-1.2.0-1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a9964a52795d61710100b9773d5cc12976a94b2e2278a4d1c23de68090aeacb |
|
MD5 | ed04f045333a2774245c794bfcd1c39f |
|
BLAKE2b-256 | 571869fd726e67be6ab1bcf42696b41544c91867ce994f76542a97f555a4b9d0 |
Hashes for pycppad-1.2.0-1-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62eabb7c82093d1fa68da29a1869ee4cf06f2c37de195a38f3baf2f8d2965c26 |
|
MD5 | c5720fb1c42824d2e9f4fc20be12589f |
|
BLAKE2b-256 | 5f3b10143ebcedae22bf34a64e18a66fd4b3712d17d50e720c35887d83b0a6a7 |
Hashes for pycppad-1.2.0-1-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777a229a0741cc8930f9c3c785d35726e0e976a276b801d37e8ae2f92c2e91c6 |
|
MD5 | 8be7d9b74b5ef957a8873bbdec48d23e |
|
BLAKE2b-256 | 379824ebd517dde11e15aedaee72d10c85c6e7a747588f1cfcfc3c48f74470ba |
Hashes for pycppad-1.2.0-1-cp27-cp27mu-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3f380722c765aee812accf35a2e06b2f6bd555e2d769161c928ac819ed86bbd |
|
MD5 | e5c44a932537a68bf772d42c5165323e |
|
BLAKE2b-256 | 482564163fa2fbe303adda6f7da36fbb75cbdbcd72207141435168a783a96f0f |