Home

Awesome

EigenPy — Versatile and efficient Python bindings between Numpy and Eigen

<p align="center"> <a href="https://opensource.org/licenses/BSD-2-Clause"><img src="https://img.shields.io/badge/License-BSD%202--Clause-green.svg" alt="License"/></a> <a href="https://github.com/stack-of-tasks/eigenpy/workflows/linux.yml"><img alt="Build Status" src="https://github.com/stack-of-tasks/eigenpy/actions/workflows/linux.yml/badge.svg?branch=devel" /></a> <a href="https://anaconda.org/conda-forge/eigenpy"><img src="https://img.shields.io/conda/dn/conda-forge/eigenpy.svg" alt="Conda Downloads"/></a> <a href="https://anaconda.org/conda-forge/eigenpy"><img src="https://img.shields.io/conda/vn/conda-forge/eigenpy.svg" alt="Conda Version"/></a> <a href="https://badge.fury.io/py/eigenpy"><img src="https://badge.fury.io/py/eigenpy.svg" alt="PyPI version"></a> <a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code style: black"></a> <a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Linter: ruff"></a> </p>

EigenPy is an open-source framework that allows the binding of the famous Eigen C++ library in Python via Boost.Python.

EigenPy provides:

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

Contributing

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.

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.