Section: Software


Participant : Gaël Guennebaud [correspondant] .

Web: http://eigen.tuxfamily.org/

Eigen is a fast, versatile, and elegant C++ template library for linear algebra and related algorithms. In particular it provides fixed and dynamic size matrices and vectors, sparse matrices and vectors, matrix decompositions (LU, LLT, LDLT, QR, eigenvalues, etc.), some basic geometry features (transformations, quaternions, axis-angles, Euler angles, hyperplanes, lines, etc.), automatic differentiations, etc. Thanks to expression templates, Eigen provides a very powerful and easy to use API. Explicit vectorization is performed for the SSE (2 and later), AltiVec and ARM NEON instruction sets, with graceful fallback to non-vectorized code. Expression templates allow to perform these optimizations globally for whole expressions, and to remove unnecessary temporary objects.

Eigen is already a famous library with about 15000 unique visitors of the website per month, while the mailing list holds about 250 members with a very high traffic (400 message per month). After two years of development since the 2.0 release, we released this year the new major 3.0 version.

  • Version: 3.0.4

  • Programming language: C++