EigenPy is an open-source framework that allows the binding of the famous Eigen C++ library in Python via Boost.Python.
EigenPy provides:
optional
types, std::pair
, maps, variants...The installation of EigenPy on your computer is made easy for Linux/BSD, Mac OS X, and Windows environments.
You simply need this simple line:
conda install eigenpy -c conda-forge
You can easily install EigenPy from binaries.
sudo sh -c "echo 'deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -cs) robotpkg' >> /etc/apt/sources.list.d/robotpkg.list"
curl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add -
sudo apt-get update
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).
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:
brew install eigenpy
Standard matrix decomposion routines of Eigen such as the SVD and QR decompositions can be readily added to EigenPy following the example of the Cholesky decomposition that is already implemented. Feel free to open a PR if you wrap them for your use case.
To build EigenPy from source the easiest way is to use Pixi.
Pixi is a cross-platform package management tool for developers that
will install all required dependencies in .pixi
directory.
It's used by our CI agent so you have the guarantee to get the right dependencies.
Run the following command to install dependencies, configure, build and test the project:
pixi run test
The project will be built in the build
directory.
You can run pixi shell
and build the project with cmake
and ninja
manually.
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.
The development of EigenPy is supported by the Gepetto team @LAAS-CNRS and the Willow team @INRIA.