Section: New Software and Platforms


Keyword: Linear algebra

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

Release Functional Description: In 2017, we released three revisions of the 3.3 branch with few fixes of compilation and performance regressions, some doxygen documentation improvements, and the addition of transpose, adjoint, conjugate methods to SelfAdjointView to ease writing generic code.