Eigen (C++ library)

Eigen
Original authors
  • Benoît Jacob
  • Gaël Guennebaud
Developers
  • Rasmus Munk Larsen
  • Charles Schlosser
  • Antonio Sanchez
Stable release
5.0.0[1] Edit this on Wikidata / 30 September 2025 (30 September 2025)
Written inC++
Operating systemCross-platform
StandardC++14
TypeLibrary
LicenseMPL 2.0
Websitegitlab.com/libeigen/eigen

Eigen is a high-level C++ library of template headers for linear algebra, matrix and vector operations, geometrical transformations, numerical solvers and related algorithms. Eigen is open-source software licensed under the Mozilla Public License 2.0 since version 3.1.1. Earlier versions were licensed under the GNU Lesser General Public License.[2] Version 1.0 was released in Dec 2006.[3]

Eigen is implemented using the expression templates metaprogramming technique, meaning it builds expression trees at compile time and generates custom code to evaluate these. Using expression templates and a cost model of floating point operations, the library performs its own loop unrolling and vectorization.[4] Eigen itself can provide BLAS and a subset of LAPACK interfaces.[5]

See also

References

  1. ↑ Rasmus Munk Larsen (30 September 2025). "5.0.0".
  2. ↑ "Eigen License". libeigen.gitlab.io. Retrieved 5 Nov 2025.
  3. ↑ "[eigen] Release 1.0".
  4. ↑ Guennebaud, Gaël (2013). Eigen: A C++ linear algebra library (PDF). Eurographics/CGLibs.
  5. ↑ "Todo - Eigen". libeigen.gitlab.io. The eigen_blas library is complete. The eigen_lapack currently implements cholesky and lu decomposition. Contact us if you want to help.