
EigenPy is an open-source framework that allows the binding of the famous Eigen C++ library in Python via Boost.Python.
EigenPy provides:
- full memory sharing between Numpy and Eigen, avoiding memory allocation
- full support Eigen::Ref avoiding memory allocation
- full support of the Eigen::Tensor module
- exposition of the Geometry module of Eigen for easy code prototyping
- standard matrix decomposion routines of Eigen such as the Cholesky, SVD and QR decompositions
- full support of SWIG objects
- full support of runtime declaration of Numpy scalar types
- extended API to expose several STL types and some of their Boost equivalents: optional types, std::pair, maps, variants...
- full support of vectorization between C++ and Python (all the hold objects are properly aligned in memory)
Installation
The installation of EigenPy on your computer is made easy for Linux/BSD, Mac OS X, and Windows environments.
Conda
You simply need this simple line:
conda install eigenpy -c conda-forge
Ubuntu
You can easily install EigenPy from binaries.
Add robotpkg apt repository
- Register the authentication certificate of robotpkg:
curl http://robotpkg.openrobots.org/packages/debian/robotpkg.asc | sudo tee /etc/apt/keyrings/robotpkg.asc
- Add robotpkg as source repository to apt:
sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF
deb [arch=amd64 signed-by=/etc/apt/keyrings/robotpkg.asc] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg
EOF
- You need to run at least one apt update to fetch the package descriptions:
Install EigenPy
- The installation of EigenPy and its dependencies is made through the line:
sudo apt install robotpkg-py35-eigenpy
where 35 should be replaced by the Python 3, you want to work this (e.g., robotpkg-py36-eigenpy to work with Python 3.6).
Mac OS X
The installation of EigenPy on Mac OS X is made via HomeBrew. You just need to register the tap of the software repository.
brew tap gepetto/homebrew-gepetto
and then install EigenPy for Python 3.x with:
Docker
docker run --rm -it ghcr.io/stack-of-tasks/eigenpy:devel
Build
Build instruction can be found here
Credits
The following people have been involved in the development of EigenPy:
If you have taken part in the development of EigenPy, feel free to add your name and contribution here.
Acknowledgments
The development of EigenPy is supported by the Gepetto team @LAAS-CNRS and the Willow team @INRIA.