Welcome to the documentation for eigenpy

README

EigenPy — Versatile and efficient Python bindings between Numpy and Eigen

License Build Status Conda Downloads Conda Version PyPI version Code style: black Linter: ruff

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 decomposition, SVD decomposition, QR decomposition, etc.

  • full support of SWIG objects

  • full support of runtime declaration of Numpy scalar types

  • extended API to expose std::vector types

  • full support of vectorization between C++ and Python (all the hold objects are properly aligned in memory)

Setup

The installation of EigenPy on your computer is made easy for Linux/BSD, Mac OS X, and Windows environments.

The Conda approach

You simply need this simple line:

conda install eigenpy -c conda-forge

Ubuntu

You can easily install EigenPy from binaries.

Add robotpkg apt repository
  1. Add robotpkg as source repository to apt:

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"
  1. Register the authentication certificate of robotpkg:

curl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add -
  1. You need to run at least one apt update to fetch the package descriptions:

sudo apt-get update
Install EigenPy
  1. 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:

brew install eigenpy

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.