Live data from Hacker News

Eigen: A C++ template library for linear algebra

eigen.tuxfamily.org

1–10 of 85 posts

Re: Eigen: A C++ template library for linear algebra

#3
The first thing I wondered was about the license. Fortunately, it mostly uses the MPL license:

https://eigen.tuxfamily.org/index.php?title=Main_Page#Licens...

> Note that currently, a few features rely on third-party code licensed under the LGPL: constrained_cg. Such features can be explicitly disabled by compiling with the EIGEN_MPL2_ONLY preprocessor symbol defined. Furthermore, Eigen provides interface classes for various third-party libraries (usually recognizable by the header name). Of course you have to mind the license of the so-included library when using them.

> Virtually any software may use Eigen. For example, closed-source software may use Eigen without having to disclose its own source code. Many proprietary and closed-source software projects are using Eigen right now, as well as many BSD-licensed projects.

Re: Eigen: A C++ template library for linear algebra

#5

Eigen is a great library. A similar one to consider that can at times be slightly easier to use coming from a python background is armadillo: http://arma.sourceforge.net/

I’m using Eigen extensively in a project of mine. It’s extremely fast, versatile, easy to use and reliable. I’m a fan, one might say.

Re: Eigen: A C++ template library for linear algebra

#8
Using it for years, and mostly happy with that library. The performance is awesome for very long vectors / large matrices.

It’s less than ideal for small things when the size is known at compile-time. If one knows SIMD intrinsics, in some of these cases the Eigen’s implementation can be outperformed by a large factor like 2-4. Also it’s very hard to mess with RAM layout of some things (like sparse matrices), just too many layers of abstraction and too much template metaprogramming.

But still, out of the box the usability of Eigen is awesome. And until the code is written, debugged, integrated and benchmarked, it’s generally impossible to tell whether a particular algorithm gonna be a performance bottleneck. That’s why I’m mostly happy with the library.

Re: Eigen: A C++ template library for linear algebra

#9

Eigen is a great library. A similar one to consider that can at times be slightly easier to use coming from a python background is armadillo: http://arma.sourceforge.net/

Slightly tooting my own horn here; In case anyone is interested in a (trivial) comparison between them I have a tiny example project implemented both with Eigen and Arma (And Fortran and Python/numpy and Julia, FWIW): https://gitlab.com/jabl/tb
Post reply on HN