eigen

Frameworks & Libraries

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

Latest 5.0.1 · by libeigenWebsite

Release activity

Release activity — 3 releases across 3 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026
ThursdayNo releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026
FridayNo releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026
SaturdayNo releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026

3 releases in the last year

Changelog

5.0.1

Latest
Fixed 5
  • Dirty git state
  • Failing geo_homogeneous tests
  • Alignment issues
  • Missing C++20 <version> header
  • BLAS/LAPACK build on windows

A few bug-fixes from the master branch, including

  • Dirty git state [#2995]
  • Failing geo_homogeneous tests [#2977]
  • Alignment issues [#2982, #2984]
  • Missing C++20 <version> header [#2986]
  • BLAS/LAPACK build on windows [#2980]

See the full lists of addressed bugs and merge requests for more details.

View originalPermalink
How 5.0.1 went

5.0.0

Changed 9
  • Eigen 5.X.X requires C++14; set -std=c++14 or later when building with GNU-compatible compilers
  • CMake build system has been modernized and older properties have been removed
  • Eigen::all and Eigen::last have been moved to Eigen::placeholders::all and Eigen::placeholders::last
  • Direct inclusion of internal headers under ../src/.. paths will result in a compilation error
  • Scalar non-vectorized comparisons now return masks with values of Scalar(1) rather than having all bits set
  • BLAS return types have been changed to void instead of int for compatibility with other BLAS implementations
Removed 2
  • Macros such as EIGEN_HAS_CXX11 have been removed
  • All LGPL-licensed code has been removed, including Constrained Conjugate Gradient
Deprecated 1
  • Runtime SVD options for computing thin/full U/V have been deprecated in favor of compile-time options
Summary

Eigen 5.0 provides many new features, performance enhancements, and bugfixes throughout Eigen’s core template expression infrastructure and linear algebra facilities. The full set of changes and related issues are too large to list here, but can be accessed via the release milestone %"5.0".

This is the last major release to support the C++14 language standard. The master branch and subsequent releases will require support for C++17.

Versioning

This release marks a transition to Semantic Versioning. Previously, Eigen used a WORLD.MAJOR.MINOR scheme. From now on, version numbers will follow the MAJOR.MINOR.PATCH format, indicating breaking changes, new features, and bug fixes, respectively. The WORLD version will remain 3 for this and subsequent releases for posterity. See the table below:

╔═════════╦═════╦═════╗
║ Release ║ 3.4 ║ 5.0 ║
╠═════════╬═════╬═════╣
║ WORLD   ║  3  ║  3  ║
║ MAJOR   ║  4  ║  5  ║
║ MINOR   ║  0  ║  0  ║
║ PATCH   ║  -  ║  0  ║
╚═════════╩═════╩═════╝
Breaking changes
  • Eigen 5.X.X requires C++14. When building with GNU-compatible compilers, set -std=c++14 or later. As part of this change, some macros such as EIGEN_HAS_CXX11 have also been removed.
  • The CMake build system has been modernized and older properties have been removed - projects relying on CMake may need to update their configurations [!485].
  • All LGPL-licensed code has been removed (i.e. Constrained Conjugate Gradient) [!1197]. These were "unsupported" anyways, and weren't widely used.
  • Due to name conflicts with other projects, Eigen::all and Eigen::last have been moved to Eigen::placeholders::all and Eigen::placeholders::last [!649].
  • Any direct inclusion of an internal header (i.e. under a ../src/.. path) will result in a compilation error [!631].
  • Runtime SVD options for computing thin/full U/V have been deprecated: use compile-time options instead [!826].
  • Scalar (i.e. non-vectorized) comparisons now return masks with values of Scalar(1) rather than having all bits set to avoid undefined behavior [!1862].
  • BLAS return types have been changed for Eigen BLAS to void instead of int for compatibility with other BLAS implementations [!1497].
  • Eigen::aligned_allocator no longer inherits from std::allocator due to a change in the standard and the use of allocate_at_least [!1795].
  • Euler angles are now returned in a more canonical form, potentially resulting in a change of behavior [!1301, !1314].
  • Eigen's random number generation has changed, resulting in a change of behavior. Please do not rely on specific random numbers from Eigen - these were never guaranteed to be consistent across Eigen versions, nor are they generally consistent across platforms [!1437].
View originalPermalink
How 5.0.0 went

3.4.1

Fixed 1
  • Many bug fixes have been backported from the main branch

Many bug fixes have been backported from the main branch.

A list of new issues addressed can be found via the 3.4.1 label on GitLab.

Check the git commit history for the full list of changes.

View originalPermalink
How 3.4.1 went

3.4.0

Added 1
  • Support for C++03 will be dropped after the 3.4.x release series
Changed 1
  • This is a new major release of Eigen 3.4.0

Eigen 3.4.0 has been released on August 18, 2021. This is a new major release of Eigen 3.4.0.

Notice: that 3.4.x will be the last major release series of Eigen that will support c++03. The master branch will drop c++03 support after this release.

View originalPermalink
How 3.4.0 went

3.4-rc1

Pre-release

This is a release candidate for the upcoming 3.4 version. For a list of changes check the release page.

View originalPermalink
How 3.4-rc1 went
3.3.9

Eigen 3.3.9

Fixed 1
  • Fixed minor bugs and compilation issues

Eigen 3.3.9 has been released on December 4, 2020.

This is a maintenance release fixing minor bugs and compilation issues.

View originalPermalink
How 3.3.9 went
3.3.8

Eigen 3.3.8

Eigen 3.3.8 has been released on October 5, 2020.

This is a maintenance release fixing minor bugs and compilation issues.

View originalPermalink
How 3.3.8 went
3.3.7

Eigen 3.3.7

Fixed 1
  • Compilation issue introduced in 3.3.6 that occurred for some versions of GCC with compiler optimization turned off

Eigen 3.3.7 has been released on December 11, 2018.

This is a maintenance release fixing a compilation issue introduced in the previous 3.3.6 release. The compilation issue only occurred for some versions of GCC with compiler optimization turned off.

View originalPermalink
How 3.3.7 went
3.3.6

Eigen 3.3.6

Eigen 3.3.6 has been released on December 10, 2018.

This is a maintenance release fixing several minor bugs and compilations issues.

We plan a beta1 release of the next Eigen 3.4 within the next few days, stay tuned!

View originalPermalink
How 3.3.6 went
3.3.5

Eigen 3.3.5

Fixed 1
  • Fixed several minor bugs and compilation issues

Eigen 3.3.5 has been released on July 23, 2018.

This is a maintenance release fixing several minor bugs and compilations issues.

View originalPermalink
How 3.3.5 went
View all

Discussion