Eigen (C++ library)

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
Developer(s)
  • Benoît Jacob
  • Gaël Guennebaud
Stable release
3.4[1] Edit this on Wikidata / 18 August 2021 (18 August 2021)
Written inC++
Operating systemCross-platform
TypeLibrary
LicenseMPL 2.0
Websiteeigen.tuxfamily.org Edit this on Wikidata

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]

Release 3.4 (2021) includes many improvements.[6]

See also

References

  1. Rasmus Munk Larsen (19 August 2021). "Eigen 3.4 released!".
  2. "Eigen License". tuxfamily.org. Retrieved 19 Jan 2021.
  3. "[eigen] Release 1.0".
  4. Guennebaud, Gaël (2013). Eigen: A C++ linear algebra library (PDF). Eurographics/CGLibs.
  5. "Todo - Eigen". eigen.tuxfamily.org. The eigen_blas library is complete. The eigen_lapack currently implements cholesky and lu decomposition. Contact us if you want to help.
  6. "3.4 - Eigen".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.