Skip to content

Commit 0793288

Browse files
committed
Add section on optional features (cholmod, accelerate)
1 parent c1ff59c commit 0793288

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# nanoeigenpy
22

3+
<p align="left">
4+
<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>
5+
</p>
6+
37
This is a collection of tools for using Eigen together with nanobind, as a successor to the [eigenpy](https://github.com/stack-of-tasks/eigenpy) support library. Its aim is to help the transition away from Boost.Python.
48

59
It reintroduces a few features (e.g. bindings for Eigen matrix decompositions) which are not in [nanobind](https://github.com/wjakob/nanobind) at time of writing.
@@ -18,6 +22,16 @@ These features were finally added to eigenpy with a lot of developer effort. Thi
1822
- bindings for Eigen's [Geometry module](https://libeigen.gitlab.io/docs/group__Geometry__Module.html) - quaternions, angle-axis representations...
1923
- bindings for Eigen's matrix dense and sparse decompositions and solvers
2024

25+
### Optional features
26+
27+
**nanoeigenpy** also provides bindings for Eigen's [Cholmod](https://eigen.tuxfamily.org/dox/group__CholmodSupport__Module.html) and [Apple Accelerate](https://eigen.tuxfamily.org/dox/group__AccelerateSupport__Module.html) modules.
28+
29+
> [!NOTE]
30+
> The Accelerate module is only available on Eigen's master branch, and not in any official release yet (as of 3/28/2025).
31+
>
32+
> Cholmod is part of the [SuiteSparse](https://github.com/DrTimothyAldenDavis/SuiteSparse) algorithms library. It can be installed standalone from [conda](https://anaconda.org/conda-forge/libcholmod).
33+
34+
2135
## Example usage
2236

2337
The features included in **nanoeigenpy** are distributed in a Python module which can be imported, or through standalone headers which can be included in your own Python bindings code using a CMake target.

0 commit comments

Comments
 (0)