Support for nalgebra
Hi, this isn't really an issue but just a question as to whether your team might consider supporting nalgebra instead of (or alongside) ndarray in the future? Pybinds for C++ seems to have standardized on the popular Eigen library which is very robust where ndarray seems somewhat limited without other includes such as ndarray-linalg.
Yes, while I would like this project to avoid discussing which array library is better or worse, we do plan to integrate with nalgebra. It is mainly a matter of finding the time to do the work.
The current plan to get the largest possible ecosystem coverage while keeping a small dependency closure by default is to
- make the current ndarray an optional dependency but enabled by default
- make the current nalgebra an optional dependency
- make an older version of ndarray an optional dependency with a separate feature flag
- abstract out methods which need to available for multiple versions of ndarray or ndarray and nalgebra into traits
- figure out what do for basics that we currently unconditionally borrow from ndarray like
IxN
Many thanks for your prompt reply and for the roadmap... totally agree and definitely did not intend to stoke a debate.
I did not mean to suggest closing the issue at all. Sorry if it came across like that. Will re-open as we do not have nalgebra squared away just yet...
figure out what do for basics that we currently unconditionally borrow from ndarray like IxN
At the moment, remove our dependency on ndarray for these basics seems like an unreasonable amount of churn especially since ndarray is aligned much closer to what NumPy provides than nalgebra so having a mandatory dependency on ndarray but an optional dependency on nalgebra seems reasonable IMHO.